@pirireis/webglobeplugins 1.0.2 → 1.0.4

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 (277) hide show
  1. package/package.json +2 -2
  2. package/plugins/alarms/alarmFadeInFadeOutPlugin/AlarmTimeLineFadeInFadeOutPlugin.js +399 -0
  3. package/{Math/angle-calculation.ts → webglobeplugins/Math/angle-calculation.js} +14 -18
  4. package/{Math/arc-cdf-points.ts → webglobeplugins/Math/arc-cdf-points.js} +272 -329
  5. package/{Math/arc-generate-points-exponantial.ts → webglobeplugins/Math/arc-generate-points-exponantial.js} +254 -299
  6. package/{Math/arc.ts → webglobeplugins/Math/arc.js} +292 -421
  7. package/{Math → webglobeplugins/Math}/bounds/line-bbox.js +186 -225
  8. package/{Math/circle-cdf-points.ts → webglobeplugins/Math/circle-cdf-points.js} +78 -143
  9. package/{Math/circle.ts → webglobeplugins/Math/circle.js} +33 -49
  10. package/{Math/constants.ts → webglobeplugins/Math/constants.js} +4 -12
  11. package/{Math/contour/quadtreecontours.ts → webglobeplugins/Math/contour/quadtreecontours.js} +300 -371
  12. package/{Math → webglobeplugins/Math}/contour/quadtreecontours1.js +298 -336
  13. package/{Math/finite-line-2d.ts → webglobeplugins/Math/finite-line-2d.js} +58 -68
  14. package/{Math/haversine.ts → webglobeplugins/Math/haversine.js} +22 -33
  15. package/webglobeplugins/Math/index.js +1 -0
  16. package/{Math/juction/arc-plane.ts → webglobeplugins/Math/juction/arc-plane.js} +143 -203
  17. package/{Math/juction/line-sphere.ts → webglobeplugins/Math/juction/line-sphere.js} +22 -32
  18. package/{Math/juction/plane-plane.ts → webglobeplugins/Math/juction/plane-plane.js} +53 -62
  19. package/{Math/line.ts → webglobeplugins/Math/line.js} +52 -84
  20. package/webglobeplugins/Math/matrix4.js +1 -0
  21. package/{Math/methods.ts → webglobeplugins/Math/methods.js} +126 -182
  22. package/{Math/plane.ts → webglobeplugins/Math/plane.js} +56 -92
  23. package/{Math/quaternion.ts → webglobeplugins/Math/quaternion.js} +106 -128
  24. package/{Math/templete-shapes/grid-visually-equal.ts → webglobeplugins/Math/templete-shapes/grid-visually-equal.js} +65 -118
  25. package/webglobeplugins/Math/tessellation/constants.js +1 -0
  26. package/{Math/tessellation/methods.ts → webglobeplugins/Math/tessellation/methods.js} +49 -79
  27. package/{Math/tessellation/nearest-value-padding.ts → webglobeplugins/Math/tessellation/nearest-value-padding.js} +112 -147
  28. package/{Math/tessellation/spherical-triangle-area.ts → webglobeplugins/Math/tessellation/spherical-triangle-area.js} +99 -127
  29. package/{Math/tessellation/tile-merger.ts → webglobeplugins/Math/tessellation/tile-merger.js} +429 -578
  30. package/{Math/tessellation/triangle-tessellation.ts → webglobeplugins/Math/tessellation/triangle-tessellation.js} +464 -533
  31. package/webglobeplugins/Math/tessellation/types.js +1 -0
  32. package/webglobeplugins/Math/types.js +1 -0
  33. package/{Math → webglobeplugins/Math}/utils.js +2 -3
  34. package/{Math/vec3.ts → webglobeplugins/Math/vec3.js} +155 -227
  35. package/{Math/xyz-tile.ts → webglobeplugins/Math/xyz-tile.js} +18 -26
  36. package/{algorithms → webglobeplugins/algorithms}/search-binary.js +16 -14
  37. package/webglobeplugins/altitude-locator/adaptors.js +1 -0
  38. package/webglobeplugins/altitude-locator/keymethod.js +1 -0
  39. package/{altitude-locator → webglobeplugins/altitude-locator}/plugin.js +344 -445
  40. package/{altitude-locator → webglobeplugins/altitude-locator}/types.js +21 -26
  41. package/{compass-rose → webglobeplugins/compass-rose}/compass-rose-padding-flat.js +230 -274
  42. package/{compass-rose/compass-text-writer.ts → webglobeplugins/compass-rose/compass-text-writer.js} +155 -210
  43. package/{compass-rose → webglobeplugins/compass-rose}/index.js +3 -3
  44. package/{constants.ts → webglobeplugins/constants.js} +6 -8
  45. package/{heatwave → webglobeplugins/heatwave}/datamanager.js +149 -168
  46. package/{heatwave → webglobeplugins/heatwave}/heatwave.js +206 -261
  47. package/{heatwave → webglobeplugins/heatwave}/index.js +5 -5
  48. package/{heatwave → webglobeplugins/heatwave}/isobar.js +306 -340
  49. package/{heatwave/texture-point-sampler.ts → webglobeplugins/heatwave/texture-point-sampler.js} +187 -220
  50. package/webglobeplugins/investigation-tools/draw/tiles/adapters.js +67 -0
  51. package/{investigation-tools/draw/tiles/tiles.ts → webglobeplugins/investigation-tools/draw/tiles/tiles.js} +128 -162
  52. package/{jest.config.js → webglobeplugins/jest.config.js} +7 -6
  53. package/{pin → webglobeplugins/pin}/pin-object-array1.js +300 -381
  54. package/{pin → webglobeplugins/pin}/pin-point-totem1.js +60 -77
  55. package/{programs → webglobeplugins/programs}/arrowfield/arrow-field.js +60 -89
  56. package/{programs → webglobeplugins/programs}/arrowfield/logic.js +141 -173
  57. package/{programs → webglobeplugins/programs}/data2legend/density-to-legend.js +68 -86
  58. package/{programs → webglobeplugins/programs}/data2legend/point-to-density-texture.js +67 -84
  59. package/{programs → webglobeplugins/programs}/float2legendwithratio/index.js +2 -3
  60. package/{programs → webglobeplugins/programs}/float2legendwithratio/logic.js +118 -144
  61. package/{programs → webglobeplugins/programs}/float2legendwithratio/object.js +104 -141
  62. package/{programs → webglobeplugins/programs}/helpers/blender.js +58 -73
  63. package/{programs/helpers/fadeaway.ts → webglobeplugins/programs/helpers/fadeaway.js} +60 -73
  64. package/{programs → webglobeplugins/programs}/index.js +20 -19
  65. package/{programs → webglobeplugins/programs}/line-on-globe/circle-accurate-3d.js +85 -112
  66. package/{programs → webglobeplugins/programs}/line-on-globe/circle-accurate-flat.js +148 -200
  67. package/{programs → webglobeplugins/programs}/line-on-globe/degree-padding-around-circle-3d.js +102 -134
  68. package/webglobeplugins/programs/line-on-globe/index.js +1 -0
  69. package/{programs → webglobeplugins/programs}/line-on-globe/lines-color-instanced-flat.js +80 -99
  70. package/webglobeplugins/programs/line-on-globe/linestrip/data.js +4 -0
  71. package/{programs/line-on-globe/linestrip/linestrip.ts → webglobeplugins/programs/line-on-globe/linestrip/linestrip.js} +93 -152
  72. package/{programs/line-on-globe/naive-accurate-flexible.ts → webglobeplugins/programs/line-on-globe/naive-accurate-flexible.js} +126 -175
  73. package/{programs → webglobeplugins/programs}/line-on-globe/util.js +5 -8
  74. package/{programs → webglobeplugins/programs}/picking/pickable-polygon-renderer.js +98 -129
  75. package/{programs → webglobeplugins/programs}/picking/pickable-renderer.js +98 -130
  76. package/{programs → webglobeplugins/programs}/point-on-globe/element-globe-surface-glow.js +93 -122
  77. package/{programs → webglobeplugins/programs}/point-on-globe/element-point-glow.js +80 -114
  78. package/{programs → webglobeplugins/programs}/point-on-globe/square-pixel-point.js +121 -139
  79. package/{programs/polygon-on-globe/texture-dem-triangles.ts → webglobeplugins/programs/polygon-on-globe/texture-dem-triangles.js} +178 -209
  80. package/{programs/programcache.ts → webglobeplugins/programs/programcache.js} +126 -134
  81. package/webglobeplugins/programs/rings/index.js +1 -0
  82. package/{programs/rings/partial-ring/piece-of-pie.ts → webglobeplugins/programs/rings/partial-ring/piece-of-pie.js} +152 -222
  83. package/webglobeplugins/programs/totems/attachments/adaptive-opacity.js +131 -0
  84. package/{programs/totems/dem-textures-manager.ts → webglobeplugins/programs/totems/attachments/dem-textures-manager.js} +263 -360
  85. package/webglobeplugins/programs/totems/camera-totem-attactment-interface.js +1 -0
  86. package/{programs/totems/camerauniformblock.ts → webglobeplugins/programs/totems/camerauniformblock.js} +225 -310
  87. package/{programs/totems/canvas-webglobe-info.ts → webglobeplugins/programs/totems/canvas-webglobe-info.js} +132 -147
  88. package/{programs/totems/globe-changes.ts → webglobeplugins/programs/totems/globe-changes.js} +59 -79
  89. package/{programs → webglobeplugins/programs}/totems/gpu-selection-uniform-block.js +99 -127
  90. package/{programs/totems/index.ts → webglobeplugins/programs/totems/index.js} +2 -2
  91. package/{programs → webglobeplugins/programs}/two-d/pixel-padding-for-compass.js +87 -101
  92. package/{programs → webglobeplugins/programs}/util.js +14 -19
  93. package/{programs/vectorfields/logics/constants.ts → webglobeplugins/programs/vectorfields/logics/constants.js} +4 -5
  94. package/{programs/vectorfields/logics/drawrectangleparticles.ts → webglobeplugins/programs/vectorfields/logics/drawrectangleparticles.js} +107 -136
  95. package/{programs → webglobeplugins/programs}/vectorfields/logics/index.js +2 -4
  96. package/webglobeplugins/programs/vectorfields/logics/particle-ubo.js +19 -0
  97. package/{programs/vectorfields/logics/pixelbased.ts → webglobeplugins/programs/vectorfields/logics/pixelbased.js} +89 -122
  98. package/{programs → webglobeplugins/programs}/vectorfields/logics/ubo.js +51 -57
  99. package/{programs/vectorfields/pingpongbuffermanager.ts → webglobeplugins/programs/vectorfields/pingpongbuffermanager.js} +99 -113
  100. package/{range-tools-on-terrain/bearing-line/adapters.ts → webglobeplugins/range-tools-on-terrain/bearing-line/adapters.js} +114 -154
  101. package/{range-tools-on-terrain/bearing-line/plugin.ts → webglobeplugins/range-tools-on-terrain/bearing-line/plugin.js} +457 -569
  102. package/webglobeplugins/range-tools-on-terrain/bearing-line/types.js +1 -0
  103. package/{range-tools-on-terrain/circle-line-chain/adapters.ts → webglobeplugins/range-tools-on-terrain/circle-line-chain/adapters.js} +85 -104
  104. package/{range-tools-on-terrain/circle-line-chain/chain-list-map.ts → webglobeplugins/range-tools-on-terrain/circle-line-chain/chain-list-map.js} +382 -446
  105. package/{range-tools-on-terrain/circle-line-chain/plugin.ts → webglobeplugins/range-tools-on-terrain/circle-line-chain/plugin.js} +464 -607
  106. package/webglobeplugins/range-tools-on-terrain/circle-line-chain/types.js +1 -0
  107. package/{range-tools-on-terrain/range-ring/adapters.ts → webglobeplugins/range-tools-on-terrain/range-ring/adapters.js} +93 -114
  108. package/{range-tools-on-terrain/range-ring/enum.ts → webglobeplugins/range-tools-on-terrain/range-ring/enum.js} +2 -2
  109. package/{range-tools-on-terrain/range-ring/plugin.ts → webglobeplugins/range-tools-on-terrain/range-ring/plugin.js} +377 -444
  110. package/webglobeplugins/range-tools-on-terrain/range-ring/rangeringangletext.js +331 -0
  111. package/webglobeplugins/range-tools-on-terrain/range-ring/types.js +9 -0
  112. package/webglobeplugins/semiplugins/interface.js +1 -0
  113. package/{semiplugins/lightweight/line-plugin.ts → webglobeplugins/semiplugins/lightweight/line-plugin.js} +221 -342
  114. package/{semiplugins/lightweight/piece-of-pie-plugin.ts → webglobeplugins/semiplugins/lightweight/piece-of-pie-plugin.js} +200 -275
  115. package/{semiplugins/shape-on-terrain/arc-plugin.ts → webglobeplugins/semiplugins/shape-on-terrain/arc-plugin.js} +481 -616
  116. package/{semiplugins/shape-on-terrain/circle-plugin.ts → webglobeplugins/semiplugins/shape-on-terrain/circle-plugin.js} +444 -588
  117. package/{semiplugins/shape-on-terrain/padding-1-degree.ts → webglobeplugins/semiplugins/shape-on-terrain/padding-1-degree.js} +539 -713
  118. package/{semiplugins/shape-on-terrain/terrain-polygon/adapters.ts → webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/adapters.js} +55 -69
  119. package/{semiplugins/shape-on-terrain/terrain-polygon/data/cache.ts → webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/cache.js} +104 -149
  120. package/{semiplugins/shape-on-terrain/terrain-polygon/data/index-polygon-map.ts → webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/index-polygon-map.js} +45 -58
  121. package/{semiplugins/shape-on-terrain/terrain-polygon/data/manager.ts → webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/manager.js} +4 -4
  122. package/webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/master-worker.js +241 -0
  123. package/webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/polygon-to-triangles.js +76 -0
  124. package/{semiplugins/shape-on-terrain/terrain-polygon/data/random.ts → webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/random.js} +121 -165
  125. package/webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/types.js +1 -0
  126. package/{semiplugins/shape-on-terrain/terrain-polygon/data/worker-contact.ts → webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/worker-contact.js} +64 -81
  127. package/webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/data/worker.js +162 -0
  128. package/{semiplugins/shape-on-terrain/terrain-polygon/terrain-polygon.ts → webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/terrain-polygon.js} +282 -265
  129. package/webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/test-records.js +14 -0
  130. package/webglobeplugins/semiplugins/shape-on-terrain/terrain-polygon/types.js +8 -0
  131. package/webglobeplugins/semiplugins/shell/bbox-renderer/index.js +2 -0
  132. package/{semiplugins/shell/bbox-renderer/logic.ts → webglobeplugins/semiplugins/shell/bbox-renderer/logic.js} +209 -273
  133. package/webglobeplugins/semiplugins/shell/bbox-renderer/object.js +78 -0
  134. package/webglobeplugins/semiplugins/type.js +1 -0
  135. package/{semiplugins/utility/container-plugin.ts → webglobeplugins/semiplugins/utility/container-plugin.js} +94 -126
  136. package/{semiplugins/utility/object-pass-container-plugin.ts → webglobeplugins/semiplugins/utility/object-pass-container-plugin.js} +80 -101
  137. package/{shaders → webglobeplugins/shaders}/fragment-toy/firework.js +1 -1
  138. package/{shaders → webglobeplugins/shaders}/fragment-toy/singularity.js +2 -5
  139. package/{tracks → webglobeplugins/tracks}/point-heat-map/adaptors/timetracksplugin-format-to-this.js +63 -78
  140. package/webglobeplugins/tracks/point-heat-map/index.js +1 -0
  141. package/{tracks → webglobeplugins/tracks}/point-heat-map/plugin-webworker.js +121 -148
  142. package/{tracks → webglobeplugins/tracks}/point-heat-map/point-to-heat-map-flow.js +121 -150
  143. package/{tracks → webglobeplugins/tracks}/point-tracks/key-methods.js +2 -3
  144. package/{tracks → webglobeplugins/tracks}/point-tracks/plugin.js +401 -487
  145. package/{tracks → webglobeplugins/tracks}/timetracks/adaptors-line-strip.js +65 -79
  146. package/{tracks → webglobeplugins/tracks}/timetracks/plugin-line-strip.js +240 -295
  147. package/{tracks → webglobeplugins/tracks}/timetracks/program-line-strip.js +413 -495
  148. package/{tracks → webglobeplugins/tracks}/timetracks/programpoint-line-strip.js +109 -137
  149. package/webglobeplugins/types.js +19 -0
  150. package/{util → webglobeplugins/util}/account/bufferoffsetmanager.js +176 -209
  151. package/webglobeplugins/util/account/create-buffermap-orchastration.js +39 -0
  152. package/{util → webglobeplugins/util}/account/index.js +3 -6
  153. package/{util/account/single-attribute-buffer-management/buffer-manager.ts → webglobeplugins/util/account/single-attribute-buffer-management/buffer-manager.js} +119 -151
  154. package/{util/account/single-attribute-buffer-management/buffer-orchestrator.ts → webglobeplugins/util/account/single-attribute-buffer-management/buffer-orchestrator.js} +212 -238
  155. package/{util/account/single-attribute-buffer-management/buffer-orchestrator1.ts → webglobeplugins/util/account/single-attribute-buffer-management/buffer-orchestrator1.js} +159 -184
  156. package/{util/account/single-attribute-buffer-management/index.ts → webglobeplugins/util/account/single-attribute-buffer-management/index.js} +4 -11
  157. package/{util/account/single-attribute-buffer-management/object-store.ts → webglobeplugins/util/account/single-attribute-buffer-management/object-store.js} +55 -76
  158. package/webglobeplugins/util/account/single-attribute-buffer-management/types.js +1 -0
  159. package/{util → webglobeplugins/util}/account/util.js +18 -22
  160. package/webglobeplugins/util/algorithms/index.js +1 -0
  161. package/{util → webglobeplugins/util}/algorithms/search-binary.js +25 -26
  162. package/{util/build-strategy/static-dynamic.ts → webglobeplugins/util/build-strategy/static-dynamic.js} +41 -50
  163. package/webglobeplugins/util/check/index.js +1 -0
  164. package/webglobeplugins/util/check/typecheck.js +66 -0
  165. package/{util/frame-counter-trigger.ts → webglobeplugins/util/frame-counter-trigger.js} +84 -99
  166. package/{util/geometry/index.ts → webglobeplugins/util/geometry/index.js} +121 -155
  167. package/webglobeplugins/util/gl-util/buffer/attribute-loader.js +74 -0
  168. package/{util/gl-util/buffer/index.ts → webglobeplugins/util/gl-util/buffer/index.js} +3 -6
  169. package/{util/gl-util/draw-options/methods.ts → webglobeplugins/util/gl-util/draw-options/methods.js} +32 -47
  170. package/{util/gl-util/uniform-block/manager.ts → webglobeplugins/util/gl-util/uniform-block/manager.js} +209 -232
  171. package/{util/globe-default-gl-states.ts → webglobeplugins/util/globe-default-gl-states.js} +4 -5
  172. package/{util/helper-methods.ts → webglobeplugins/util/helper-methods.js} +8 -9
  173. package/{util → webglobeplugins/util}/index.js +10 -9
  174. package/webglobeplugins/util/interpolation/index.js +1 -0
  175. package/webglobeplugins/util/interpolation/timetrack/index.js +2 -0
  176. package/{util → webglobeplugins/util}/interpolation/timetrack/timetrack-interpolator.js +79 -94
  177. package/{util → webglobeplugins/util}/interpolation/timetrack/web-worker.js +46 -51
  178. package/{util/picking/fence.ts → webglobeplugins/util/picking/fence.js} +43 -47
  179. package/{util/picking/picker-displayer.ts → webglobeplugins/util/picking/picker-displayer.js} +176 -226
  180. package/{util → webglobeplugins/util}/programs/draw-from-pixel-coords.js +164 -201
  181. package/{util/programs/draw-texture-on-canvas.ts → webglobeplugins/util/programs/draw-texture-on-canvas.js} +69 -91
  182. package/{util → webglobeplugins/util}/programs/supersampletotextures.js +97 -130
  183. package/{util/programs/texturetoglobe.js → webglobeplugins/util/programs/texturetoglobe_delete.js} +128 -153
  184. package/{util/shaderfunctions/geometrytransformations.ts → webglobeplugins/util/shaderfunctions/geometrytransformations.js} +44 -106
  185. package/{util → webglobeplugins/util}/shaderfunctions/index.js +2 -2
  186. package/{util → webglobeplugins/util}/shaderfunctions/nodata.js +2 -4
  187. package/{util → webglobeplugins/util}/shaderfunctions/noisefunctions.js +7 -10
  188. package/{util/webglobjectbuilders.ts → webglobeplugins/util/webglobjectbuilders.js} +358 -446
  189. package/{vectorfield → webglobeplugins/vectorfield}/arrowfield/adaptor.js +11 -11
  190. package/{vectorfield → webglobeplugins/vectorfield}/arrowfield/index.js +3 -3
  191. package/{vectorfield → webglobeplugins/vectorfield}/arrowfield/plugin.js +83 -128
  192. package/{vectorfield → webglobeplugins/vectorfield}/waveparticles/adaptor.js +15 -16
  193. package/{vectorfield → webglobeplugins/vectorfield}/waveparticles/index.js +3 -3
  194. package/{vectorfield/waveparticles/plugin.ts → webglobeplugins/vectorfield/waveparticles/plugin.js} +455 -506
  195. package/webglobeplugins/vectorfield/wind/adapters/image-to-fields.js +92 -0
  196. package/webglobeplugins/vectorfield/wind/adapters/types.js +1 -0
  197. package/{vectorfield/wind/imagetovectorfieldandmagnitude.ts → webglobeplugins/vectorfield/wind/imagetovectorfieldandmagnitude.js} +53 -78
  198. package/{vectorfield → webglobeplugins/vectorfield}/wind/index.js +5 -5
  199. package/{vectorfield/wind/plugin-persistant.ts → webglobeplugins/vectorfield/wind/plugin-persistant.js} +390 -483
  200. package/{vectorfield → webglobeplugins/vectorfield}/wind/plugin.js +685 -883
  201. package/{vectorfield → webglobeplugins/vectorfield}/wind/vectorfieldimage.js +23 -27
  202. package/{write-text/context-text-bulk.ts → webglobeplugins/write-text/context-text-bulk.js} +200 -285
  203. package/webglobeplugins/write-text/context-text3.js +167 -0
  204. package/{write-text/context-text4.ts → webglobeplugins/write-text/context-text4.js} +146 -231
  205. package/{write-text → webglobeplugins/write-text}/context-textDELETE.js +94 -125
  206. package/{write-text/objectarraylabels/index.ts → webglobeplugins/write-text/objectarraylabels/index.js} +2 -2
  207. package/{write-text → webglobeplugins/write-text}/objectarraylabels/objectarraylabels.js +200 -247
  208. package/Math/index.js +0 -0
  209. package/Math/matrix4.ts +0 -0
  210. package/Math/mesh/mapbox-delaunay.d.ts +0 -74
  211. package/Math/roadmap.md +0 -10
  212. package/Math/tessellation/constants.ts +0 -1
  213. package/Math/tessellation/roadmap.md +0 -48
  214. package/Math/tessellation/types.ts +0 -1
  215. package/Math/types.ts +0 -68
  216. package/altitude-locator/adaptors.js +0 -0
  217. package/altitude-locator/keymethod.js +0 -0
  218. package/investigation-tools/draw/tiles/adapters.ts +0 -133
  219. package/programs/line-on-globe/index.js +0 -0
  220. package/programs/line-on-globe/linestrip/data.ts +0 -29
  221. package/programs/polygon-on-globe/roadmap.md +0 -8
  222. package/programs/rings/index.js +0 -1
  223. package/programs/totems/camera-totem-attactment-interface.ts +0 -4
  224. package/programs/vectorfields/logics/particle-ubo.ts +0 -23
  225. package/publish.bat +0 -62
  226. package/range-tools-on-terrain/bearing-line/types.ts +0 -65
  227. package/range-tools-on-terrain/circle-line-chain/types.ts +0 -43
  228. package/range-tools-on-terrain/range-ring/rangeringangletext.ts +0 -396
  229. package/range-tools-on-terrain/range-ring/types.ts +0 -30
  230. package/semiplugins/interface.ts +0 -14
  231. package/semiplugins/shape-on-terrain/goal.md +0 -12
  232. package/semiplugins/shape-on-terrain/terrain-polygon/data/cache-shortcuts.md +0 -20
  233. package/semiplugins/shape-on-terrain/terrain-polygon/data/master-worker.js +0 -196
  234. package/semiplugins/shape-on-terrain/terrain-polygon/data/master-worker.ts +0 -209
  235. package/semiplugins/shape-on-terrain/terrain-polygon/data/polygon-to-triangles.ts +0 -144
  236. package/semiplugins/shape-on-terrain/terrain-polygon/data/readme.md +0 -5
  237. package/semiplugins/shape-on-terrain/terrain-polygon/data/types.ts +0 -37
  238. package/semiplugins/shape-on-terrain/terrain-polygon/data/worker.js +0 -146
  239. package/semiplugins/shape-on-terrain/terrain-polygon/notes.md +0 -90
  240. package/semiplugins/shape-on-terrain/terrain-polygon/types.ts +0 -69
  241. package/semiplugins/shell/bbox-renderer/index.ts +0 -2
  242. package/semiplugins/shell/bbox-renderer/object.ts +0 -129
  243. package/semiplugins/type.ts +0 -8
  244. package/terrain-plugin.mmd +0 -83
  245. package/tests/Math/arc-sampling-test.js +0 -367
  246. package/tests/Math/arc-sampling-test.ts +0 -429
  247. package/tests/Math/arc.test.ts +0 -77
  248. package/tests/Math/junction/arc-limit.test.ts +0 -7
  249. package/tests/Math/junction/arc-plane-points.test.ts +0 -196
  250. package/tests/Math/junction/arc-plane.test.ts +0 -172
  251. package/tests/Math/junction/line-sphere.test.ts +0 -127
  252. package/tests/Math/junction/plane-plane.test.ts +0 -91
  253. package/tests/Math/plane-test.ts +0 -17
  254. package/tests/Math/plane.test.ts +0 -43
  255. package/tests/Math/vec3.test.ts +0 -33
  256. package/tracks/point-heat-map/index.js +0 -0
  257. package/tracks/point-heat-map/readme.md +0 -15
  258. package/tracks/timetracks/readme.md +0 -1
  259. package/tsconfig.json +0 -22
  260. package/types/@pirireis/webglobe.d.ts +0 -102
  261. package/types/delaunator.d.ts +0 -40
  262. package/types/earcut.d.ts +0 -11
  263. package/types/rbush.d.ts +0 -57
  264. package/types.ts +0 -319
  265. package/util/account/create-buffermap-orchastration.ts +0 -85
  266. package/util/account/single-attribute-buffer-management/types.ts +0 -43
  267. package/util/algorithms/index.js +0 -0
  268. package/util/check/index.js +0 -0
  269. package/util/check/typecheck.ts +0 -74
  270. package/util/gl-util/buffer/attribute-loader.ts +0 -84
  271. package/util/interpolation/index.js +0 -0
  272. package/util/interpolation/timetrack/index.js +0 -9
  273. package/vectorfield/wind/adapters/image-to-fields.ts +0 -74
  274. package/vectorfield/wind/adapters/types.ts +0 -12
  275. package/vectorfield/wind/plugin-persistant copy.ts +0 -461
  276. package/write-text/context-text3.ts +0 -252
  277. package/write-text/objectarraylabels/objectarraylabels.d.ts +0 -72
@@ -1,247 +1,200 @@
1
- import {
2
- CSGlobe,
3
- CSIconTypes,
4
- CSObjectTypes,
5
- CSObjectArrayUpdateTypes,
6
- } from "@pirireis/webglobe";
7
-
8
- /**
9
- * @typedef {Object} IconPayload
10
- * @property {string} app6DCode
11
- * @property {string} accsCode
12
- */
13
-
14
- /**
15
- * @typedef {IconPayload & Object.<string, any>} PointPayload
16
- */
17
-
18
- /**
19
- * @typedef {Object} CanChangeOptions
20
- * @property {boolean} [attribs=false]
21
- * @property {boolean} [icon=false]
22
- * @property {boolean} [label=false]
23
- * @property {boolean} [heading=false]
24
- */
25
-
26
- /**
27
- * @typedef {Object} PointObjectArray
28
- * @property {number[]} coords [longitude1, latitude1, longitude2, latitude2, ....]
29
- * @property {number[]} coordsZ [z1, z2, ....]
30
- * @property {PointPayload[]} attribs
31
- */
32
-
33
- class ObjectArrayLabels {
34
- /**
35
- * @param {number | string} id
36
- * @param {CSGlobe} globe
37
- */
38
- constructor(id, globe, labelStyle = null) {
39
- this.id = id;
40
- this.setGlobe(globe);
41
-
42
- this.data = [
43
- {
44
- coords: [],
45
- coordsZ: [],
46
- attribs: [],
47
- },
48
- ];
49
-
50
- this.primaryKey = "id";
51
-
52
- this.objectType = CSObjectTypes.POINT;
53
- this.filter = null;
54
- this.bbox = null;
55
- this.startLod = 2;
56
- this.endLod = 19;
57
- this.query = true;
58
- this.reportObj = function (values, mouseEvent) { };
59
- this._idCollector = new Set();
60
- this._setStyle(labelStyle);
61
- }
62
-
63
-
64
-
65
- _setStyle(labelStyle) {
66
- this.style = this.globe.ObjectArray.GetDefaultStyle();
67
-
68
- if (labelStyle) {
69
- this.style.labels[0] = labelStyle;
70
- } else {
71
- this.style.labels[0].vAlignment = 2 // dikey olarak tam noktanın ortası
72
- this.style.labels[0].hAlignment = 2 // yatay olarak tam noktanın ortası
73
- this.style.labels[0].size = 11;
74
- this.style.labels[0].drawAlways = true;
75
- this.style.labels[0].fontFamily.name = "arial";
76
- this.style.labels[0].fontFamily.bold = false;
77
- this.style.labels[0].fontFamily.hollow = true;
78
- this.style.labels[0].fontFamily.hollowWidth = 1;
79
- this.style.labels[0].fontFamily.hollowOpacity = 1;
80
- }
81
-
82
- this.style.labels[0].text = "${value}";
83
- this.style.fidKey = this.primaryKey;
84
-
85
- this.style.iconType = CSIconTypes.NOICON; // milIcon ekleyebilmek için icon tipi MAP olmalı
86
- }
87
- /**
88
- * @param {CSGlobe} [globe]
89
- */
90
- setGlobe(globe) {
91
- if (!globe) return;
92
- this.globe = globe;
93
- }
94
-
95
- addToMap() {
96
- this.globe.ObjectArray.Add(this);
97
- }
98
-
99
- removeFromMap() {
100
- this.flush();
101
- this.globe.ObjectArray.Delete(this.id);
102
- }
103
-
104
- /**
105
- * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılır
106
- * @param {PointObjectArray} data
107
- */
108
- setData(data) {
109
- this.globe.ObjectArray.SetData(this, [data]);
110
- }
111
-
112
- /**
113
- * @param {PointObjectArray} data
114
- * @param {CSObjectArrayUpdateTypes} operation
115
- * @param {CanChangeOptions} [canChange]
116
- */
117
- updateData(data, operation, canChange) {
118
- this.globe.ObjectArray.UpdateData(this, operation, [data], canChange);
119
- }
120
-
121
- flush() {
122
- const deleteBucket = {
123
- coords: [],
124
- coordsZ: [],
125
- attribs: [],
126
- };
127
- this.setData(deleteBucket);
128
- this._idCollector = new Set();
129
- }
130
-
131
- /**
132
- * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılmaz, ancak ön hesaplama maliyeti vardır
133
- * @param {PointObjectArray} data
134
- */
135
- setControlledData(data) {
136
- const paritalData = {
137
- add: {
138
- coords: [],
139
- coordsZ: [],
140
- attribs: [],
141
- },
142
- update: {
143
- coords: [],
144
- coordsZ: [],
145
- attribs: [],
146
- },
147
- delete: {
148
- coords: [],
149
- coordsZ: [],
150
- attribs: [],
151
- },
152
- canChange: {
153
- // Tüm değişimler gözardı edilecek
154
- attribs: false,
155
- icon: false,
156
- label: false,
157
- heading: false,
158
- },
159
- };
160
- // İlk toplu ekleme adımı
161
- if (this._idCollector.size === 0) {
162
- this.setData(data);
163
-
164
- // Eklenen id'ler set edildi
165
- for (let i = 0; i < data.attribs.length; i++) {
166
- const currentPayload = data.attribs[i];
167
- const id = currentPayload[this.primaryKey];
168
-
169
- this._idCollector.add(id);
170
- }
171
-
172
- return;
173
- }
174
-
175
- /** @type {Set<string>} */
176
- const dataIds = new Set();
177
-
178
- for (let i = 0; i < data.attribs.length; i++) {
179
- const currentPayload = data.attribs[i];
180
- const id = currentPayload[this.primaryKey];
181
-
182
- let bucket = paritalData.add;
183
-
184
- dataIds.add(id);
185
-
186
- if (this._idCollector.has(id)) {
187
- bucket = paritalData.update;
188
- } else {
189
- this._idCollector.add(id);
190
- }
191
-
192
- bucket.coords.push(data.coords[2 * i], data.coords[2 * i + 1]);
193
- bucket.coordsZ.push(data.coordsZ[i]);
194
- bucket.attribs.push(currentPayload);
195
- }
196
-
197
- // Artık varolmayan elemenları sil
198
- const deleteBucket = paritalData.delete;
199
- this._idCollector.forEach((id) => {
200
- if (!dataIds.has(id)) {
201
- this._idCollector.delete(id);
202
-
203
- deleteBucket.coords.push(0, 0);
204
- deleteBucket.coordsZ.push(0);
205
- deleteBucket.attribs.push({
206
- [this.primaryKey]: id,
207
- });
208
- }
209
- });
210
-
211
- if (paritalData.add.coords.length > 0) {
212
- this.updateData(paritalData.add, CSObjectArrayUpdateTypes.ADD);
213
- }
214
-
215
- if (paritalData.update.coords.length > 0) {
216
- this.updateData(
217
- paritalData.update,
218
- CSObjectArrayUpdateTypes.UPDATE,
219
- paritalData.canChange
220
- );
221
- }
222
-
223
- if (paritalData.delete.coords.length > 0) {
224
- this.updateData(paritalData.delete, CSObjectArrayUpdateTypes.DELETE);
225
- }
226
- }
227
-
228
-
229
- setPrimarykey(key) {
230
- this.primaryKey = key;
231
- }
232
-
233
- setSymbolSet(symbolSet) {
234
- this.symbolSet = symbolSet;
235
- }
236
-
237
- getLabelStyle() {
238
- return this.style.labels[0];
239
- }
240
-
241
- setLabelStyle(style) {
242
- this.style.labels[0] = style;
243
-
244
- }
245
- }
246
-
247
- export default ObjectArrayLabels;
1
+ import { CSGlobe, CSIconTypes, CSObjectTypes, CSObjectArrayUpdateTypes, } from "@pirireis/webglobe";
2
+ /**
3
+ * @typedef {Object} IconPayload
4
+ * @property {string} app6DCode
5
+ * @property {string} accsCode
6
+ */
7
+ /**
8
+ * @typedef {IconPayload & Object.<string, any>} PointPayload
9
+ */
10
+ /**
11
+ * @typedef {Object} CanChangeOptions
12
+ * @property {boolean} [attribs=false]
13
+ * @property {boolean} [icon=false]
14
+ * @property {boolean} [label=false]
15
+ * @property {boolean} [heading=false]
16
+ */
17
+ /**
18
+ * @typedef {Object} PointObjectArray
19
+ * @property {number[]} coords [longitude1, latitude1, longitude2, latitude2, ....]
20
+ * @property {number[]} coordsZ [z1, z2, ....]
21
+ * @property {PointPayload[]} attribs
22
+ */
23
+ class ObjectArrayLabels {
24
+ /**
25
+ * @param {number | string} id
26
+ * @param {CSGlobe} globe
27
+ */
28
+ constructor(id, globe, labelStyle = null) {
29
+ this.id = id;
30
+ this.setGlobe(globe);
31
+ this.data = [
32
+ {
33
+ coords: [],
34
+ coordsZ: [],
35
+ attribs: [],
36
+ },
37
+ ];
38
+ this.primaryKey = "id";
39
+ this.objectType = CSObjectTypes.POINT;
40
+ this.filter = null;
41
+ this.bbox = null;
42
+ this.startLod = 2;
43
+ this.endLod = 19;
44
+ this.query = true;
45
+ this.reportObj = function (values, mouseEvent) { };
46
+ this._idCollector = new Set();
47
+ this._setStyle(labelStyle);
48
+ }
49
+ _setStyle(labelStyle) {
50
+ this.style = this.globe.ObjectArray.GetDefaultStyle();
51
+ if (labelStyle) {
52
+ this.style.labels[0] = labelStyle;
53
+ }
54
+ else {
55
+ this.style.labels[0].vAlignment = 2; // dikey olarak tam noktanın ortası
56
+ this.style.labels[0].hAlignment = 2; // yatay olarak tam noktanın ortası
57
+ this.style.labels[0].size = 11;
58
+ this.style.labels[0].drawAlways = true;
59
+ this.style.labels[0].fontFamily.name = "arial";
60
+ this.style.labels[0].fontFamily.bold = false;
61
+ this.style.labels[0].fontFamily.hollow = true;
62
+ this.style.labels[0].fontFamily.hollowWidth = 1;
63
+ this.style.labels[0].fontFamily.hollowOpacity = 1;
64
+ }
65
+ this.style.labels[0].text = "${value}";
66
+ this.style.fidKey = this.primaryKey;
67
+ this.style.iconType = CSIconTypes.NOICON; // milIcon ekleyebilmek için icon tipi MAP olmalı
68
+ }
69
+ /**
70
+ * @param {CSGlobe} [globe]
71
+ */
72
+ setGlobe(globe) {
73
+ if (!globe)
74
+ return;
75
+ this.globe = globe;
76
+ }
77
+ addToMap() {
78
+ this.globe.ObjectArray.Add(this);
79
+ }
80
+ removeFromMap() {
81
+ this.flush();
82
+ this.globe.ObjectArray.Delete(this.id);
83
+ }
84
+ /**
85
+ * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılır
86
+ * @param {PointObjectArray} data
87
+ */
88
+ setData(data) {
89
+ this.globe.ObjectArray.SetData(this, [data]);
90
+ }
91
+ /**
92
+ * @param {PointObjectArray} data
93
+ * @param {CSObjectArrayUpdateTypes} operation
94
+ * @param {CanChangeOptions} [canChange]
95
+ */
96
+ updateData(data, operation, canChange) {
97
+ this.globe.ObjectArray.UpdateData(this, operation, [data], canChange);
98
+ }
99
+ flush() {
100
+ const deleteBucket = {
101
+ coords: [],
102
+ coordsZ: [],
103
+ attribs: [],
104
+ };
105
+ this.setData(deleteBucket);
106
+ this._idCollector = new Set();
107
+ }
108
+ /**
109
+ * Haritaya kullanılacak veriyi verir. Her çağrıldığında tüm hesaplamalar yeniden yapılmaz, ancak ön hesaplama maliyeti vardır
110
+ * @param {PointObjectArray} data
111
+ */
112
+ setControlledData(data) {
113
+ const paritalData = {
114
+ add: {
115
+ coords: [],
116
+ coordsZ: [],
117
+ attribs: [],
118
+ },
119
+ update: {
120
+ coords: [],
121
+ coordsZ: [],
122
+ attribs: [],
123
+ },
124
+ delete: {
125
+ coords: [],
126
+ coordsZ: [],
127
+ attribs: [],
128
+ },
129
+ canChange: {
130
+ // Tüm değişimler gözardı edilecek
131
+ attribs: false,
132
+ icon: false,
133
+ label: false,
134
+ heading: false,
135
+ },
136
+ };
137
+ // İlk toplu ekleme adımı
138
+ if (this._idCollector.size === 0) {
139
+ this.setData(data);
140
+ // Eklenen id'ler set edildi
141
+ for (let i = 0; i < data.attribs.length; i++) {
142
+ const currentPayload = data.attribs[i];
143
+ const id = currentPayload[this.primaryKey];
144
+ this._idCollector.add(id);
145
+ }
146
+ return;
147
+ }
148
+ /** @type {Set<string>} */
149
+ const dataIds = new Set();
150
+ for (let i = 0; i < data.attribs.length; i++) {
151
+ const currentPayload = data.attribs[i];
152
+ const id = currentPayload[this.primaryKey];
153
+ let bucket = paritalData.add;
154
+ dataIds.add(id);
155
+ if (this._idCollector.has(id)) {
156
+ bucket = paritalData.update;
157
+ }
158
+ else {
159
+ this._idCollector.add(id);
160
+ }
161
+ bucket.coords.push(data.coords[2 * i], data.coords[2 * i + 1]);
162
+ bucket.coordsZ.push(data.coordsZ[i]);
163
+ bucket.attribs.push(currentPayload);
164
+ }
165
+ // Artık varolmayan elemenları sil
166
+ const deleteBucket = paritalData.delete;
167
+ this._idCollector.forEach((id) => {
168
+ if (!dataIds.has(id)) {
169
+ this._idCollector.delete(id);
170
+ deleteBucket.coords.push(0, 0);
171
+ deleteBucket.coordsZ.push(0);
172
+ deleteBucket.attribs.push({
173
+ [this.primaryKey]: id,
174
+ });
175
+ }
176
+ });
177
+ if (paritalData.add.coords.length > 0) {
178
+ this.updateData(paritalData.add, CSObjectArrayUpdateTypes.ADD);
179
+ }
180
+ if (paritalData.update.coords.length > 0) {
181
+ this.updateData(paritalData.update, CSObjectArrayUpdateTypes.UPDATE, paritalData.canChange);
182
+ }
183
+ if (paritalData.delete.coords.length > 0) {
184
+ this.updateData(paritalData.delete, CSObjectArrayUpdateTypes.DELETE);
185
+ }
186
+ }
187
+ setPrimarykey(key) {
188
+ this.primaryKey = key;
189
+ }
190
+ setSymbolSet(symbolSet) {
191
+ this.symbolSet = symbolSet;
192
+ }
193
+ getLabelStyle() {
194
+ return this.style.labels[0];
195
+ }
196
+ setLabelStyle(style) {
197
+ this.style.labels[0] = style;
198
+ }
199
+ }
200
+ export default ObjectArrayLabels;
package/Math/index.js DELETED
File without changes
package/Math/matrix4.ts DELETED
File without changes
@@ -1,74 +0,0 @@
1
- export default class Delaunator {
2
- /**
3
- * Constructs a delaunay triangulation object given an array of points (`[x, y]` by default).
4
- * `getX` and `getY` are optional functions of the form `(point) => value` for custom point formats.
5
- */
6
- static from<P>(
7
- points: P[],
8
- getX?: (p: P) => number,
9
- getY?: (p: P) => number
10
- ): Delaunator;
11
-
12
- /**
13
- * Constructs a delaunay triangulation object given an array of point coordinates of the form:
14
- * `[x0, y0, x1, y1, ...]` (use a typed array for best performance). Duplicate points are skipped.
15
- */
16
- constructor(coords: ArrayLike<number>);
17
-
18
- /** The input coordinates array */
19
- coords: ArrayLike<number>;
20
-
21
- /** A `Uint32Array` array of indices that reference points on the convex hull of the input data, counter-clockwise. */
22
- hull: Uint32Array;
23
-
24
- /** A `Uint32Array` array of triangle vertex indices (each group of three numbers forms a triangle). All triangles are directed counterclockwise. */
25
- triangles: Uint32Array;
26
-
27
- /**
28
- * A `Int32Array` array of triangle half-edge indices that allows you to traverse the triangulation.
29
- * `i`-th half-edge in the array corresponds to vertex `triangles[i]` the half-edge is coming from.
30
- * `halfedges[i]` is the index of a twin half-edge in an adjacent triangle (or `-1` for outer half-edges on the convex hull).
31
- */
32
- halfedges: Int32Array;
33
-
34
- /**
35
- * Updates the triangulation if you modified `delaunay.coords` values in place, avoiding expensive memory allocations.
36
- * Useful for iterative relaxation algorithms such as Lloyd's.
37
- */
38
- update(): void;
39
-
40
- // Private properties and methods
41
- private _triangles: Uint32Array;
42
- private _halfedges: Int32Array;
43
- private _hashSize: number;
44
- private _hullPrev: Uint32Array;
45
- private _hullNext: Uint32Array;
46
- private _hullTri: Uint32Array;
47
- private _hullHash: Int32Array;
48
- private _ids: Uint32Array;
49
- private _dists: Float64Array;
50
- private trianglesLen: number;
51
- private _cx: number;
52
- private _cy: number;
53
- private _hullStart: number;
54
-
55
- private _hashKey(x: number, y: number): number;
56
- private _legalize(a: number): number;
57
- private _link(a: number, b: number): void;
58
- private _addTriangle(i0: number, i1: number, i2: number, a: number, b: number, c: number): number;
59
- }
60
-
61
- // Utility functions (not exported in the original module)
62
- declare function pseudoAngle(dx: number, dy: number): number;
63
- declare function dist(ax: number, ay: number, bx: number, by: number): number;
64
- declare function inCircle(ax: number, ay: number, bx: number, by: number, cx: number, cy: number, px: number, py: number): boolean;
65
- declare function circumradius(ax: number, ay: number, bx: number, by: number, cx: number, cy: number): number;
66
- declare function circumcenter(ax: number, ay: number, bx: number, by: number, cx: number, cy: number): { x: number; y: number };
67
- declare function quicksort(ids: Uint32Array, dists: Float64Array, left: number, right: number): void;
68
- declare function swap(arr: Uint32Array, i: number, j: number): void;
69
- declare function defaultGetX(p: [number, number]): number;
70
- declare function defaultGetY(p: [number, number]): number;
71
-
72
- // Constants
73
- declare const EPSILON: number;
74
- declare const EDGE_STACK: Uint32Array;
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.
@@ -1 +0,0 @@
1
- export const TILE_COUNTS = Array.from({length: 22}, (_, i) => Math.pow(2, i ));
@@ -1,48 +0,0 @@
1
- # Preprocess
2
-
3
- 1) EarCut: Polygon -> triangles
4
- 2) triangles to arcs
5
- 3) cut arcs
6
- * Find peak points in latitude dimention.
7
- * Find latitude and longitude cut points on zoom 12 ( 12 becse elevation starts)
8
- * Cut from that latiude in meridian dimension
9
- **Question** Should I cut from peak point, before finding zoom cuts?
10
- I feels like no need. We will see
11
- 4) Put tringles in rbush
12
-
13
- **Question** What represents a triangle?
14
- 3 Arcs, with metadata of bbox,
15
- Since we cut from peak point parallel junktion with any arc should give maximum 1 point.
16
-
17
-
18
- # Maintainance
19
-
20
- Rbush tree needs maintanance. Maybe a delete counter. When it exceeds threshhold. rebuild tree with last income
21
-
22
- On edit mode the shapes change frequently. Lightweight version should work on theese cases.
23
-
24
- **Question** How lightweight version is different?
25
- Smaller instance of the structure only holds updated data. Probably rBush is put aside. All the shapes on this instance are processed each frame.
26
-
27
- # On Fly
28
-
29
- Get screenBBox,
30
- Get 6 high reslutiotion tiles
31
-
32
- find all triangles that touches it.
33
- Create Meshes of theme on webworker
34
- load result elements (3d and longlat coordinates) and indexes to gpu
35
- load DEM data as texture
36
-
37
- **Question** What will happen if a triangles resolution is not changed on the upcoming frame?
38
- need to cache each triangles last resolution,
39
-
40
- Catched items for each triangle:
41
- 1) mesh coordinates
42
- 2) mesh indexes or indexes should be easy to calculate
43
- **Question** How to calculate? Store how many points each parallel has.
44
- 3) Zoom Level
45
-
46
- If triangle has deeper mesh then its need to be, it can just use it
47
- Maybe I find a smart way to prune to mesh without distrupt its structure for lower resulution mesh
48
-
@@ -1 +0,0 @@
1
-
package/Math/types.ts DELETED
@@ -1,68 +0,0 @@
1
- type Radians = number;
2
- type Degrees = number;
3
- type Meter = number;
4
- type Fraction = number; // between 0 and 1
5
- type WGS84 = [number, number]; // [longitude, latitude]
6
- type Vec2 = [number, number]; // [x, y] or [longitude, latitude] in Mercator projection
7
- type Vec3 = [number, number, number];
8
- type Vec4 = [number, number, number, number];
9
-
10
- type Line = {
11
- origin: Vec3;
12
- direction: Vec3;
13
- }
14
-
15
- type FiniteLine2D = [number, number, number, number];
16
-
17
- type Plane = {
18
- normal: Vec3;
19
- distance: number;
20
- };
21
-
22
- // TODO: CLEAN THIS USE LongLatRadian OR LongLatDegree FROM types.ts
23
- type LongLat = [number, number]; // [longitude, latitude]
24
-
25
- type Quaternion = [number, number, number, number];
26
-
27
- type Arc = {
28
- p0: Vec3;
29
- p1: Vec3;
30
- normal: Vec3; // normal of the circle arc lie on
31
- coverPlane: Plane; // plane that divides the circle that the arc lie on into visible and covered half
32
- coverAngle: Radians;
33
- }
34
-
35
- type Sphere = {
36
- center: Vec3;
37
- radius: number;
38
- }
39
-
40
- type Circle = {
41
- center: LongLat;
42
- radius: Meter; // in meters
43
- }
44
-
45
- type CircleClosestAzimuthAngleProperties = {
46
- normal: Vec3;
47
- northPointProjectedToOriginPlaneNormalized: Vec3;
48
- }
49
-
50
- export {
51
- Vec2,
52
- Vec3,
53
- Vec4,
54
- Line,
55
- Plane,
56
- Quaternion,
57
- Fraction,
58
- WGS84,
59
- Arc,
60
- Sphere,
61
- Radians,
62
- Degrees,
63
- Meter,
64
- LongLat,
65
- Circle,
66
- CircleClosestAzimuthAngleProperties,
67
- FiniteLine2D
68
- }
File without changes
File without changes