@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.
- package/{Math → dist/Math}/angle-calculation.js +15 -14
- package/dist/Math/arc.js +65 -0
- package/{Math → dist/Math}/bounds/line-bbox.js +188 -225
- package/dist/Math/constants.js +9 -0
- package/{Math/frustum/camera.ts → dist/Math/frustum/camera.js} +24 -32
- package/{Math/frustum/from-globeinfo.ts → dist/Math/frustum/from-globeinfo.js} +48 -63
- package/dist/Math/frustum/types.js +2 -0
- package/{Math/globe-util/horizon-plane.ts → dist/Math/globe-util/horizon-plane.js} +112 -137
- package/dist/Math/index.js +1 -0
- package/dist/Math/juction/arc-plane.js +83 -0
- package/dist/Math/juction/line-sphere.js +25 -0
- package/{Math/juction/plane-plane.ts → dist/Math/juction/plane-plane.js} +58 -66
- package/dist/Math/line.js +56 -0
- package/dist/Math/matrix4.js +1 -0
- package/{Math → dist/Math}/methods.js +201 -237
- package/dist/Math/plane.js +60 -0
- package/{Math/quaternion.ts → dist/Math/quaternion.js} +104 -120
- package/dist/Math/types.js +2 -0
- package/dist/Math/utils.js +4 -0
- package/{Math/vec3.ts → dist/Math/vec3.js} +126 -155
- package/dist/algorithms/search-binary.js +19 -0
- package/dist/altitude-locator/adaptors.js +1 -0
- package/{altitude-locator → dist/altitude-locator}/draw-subset-obj.js +18 -27
- package/dist/altitude-locator/keymethod.js +1 -0
- package/{altitude-locator → dist/altitude-locator}/plugin.js +341 -439
- package/{altitude-locator → dist/altitude-locator}/types.js +23 -26
- package/{arrowfield → dist/arrowfield}/adaptor.js +14 -11
- package/dist/arrowfield/index.js +10 -0
- package/{arrowfield → dist/arrowfield}/plugin.js +86 -128
- package/dist/bearing-line/index.js +8 -0
- package/{bearing-line → dist/bearing-line}/plugin.js +449 -512
- package/{circle-line-chain → dist/circle-line-chain}/chain-list-map.js +205 -221
- package/dist/circle-line-chain/init.js +1 -0
- package/{circle-line-chain → dist/circle-line-chain}/plugin.js +424 -469
- package/dist/circle-line-chain/util.js +5 -0
- package/{compass-rose → dist/compass-rose}/compass-rose-padding-flat.js +225 -266
- package/{compass-rose → dist/compass-rose}/compass-text-writer.js +153 -173
- package/dist/compass-rose/index.js +7 -0
- package/{compassrose → dist/compassrose}/compassrose.js +296 -341
- package/dist/compassrose/index.js +8 -0
- package/dist/globe-types.js +1 -0
- package/dist/heatwave/index.js +10 -0
- package/{heatwave → dist/heatwave}/isobar/objectarraylabels.js +202 -247
- package/{heatwave → dist/heatwave}/isobar/plugin.js +343 -340
- package/{heatwave → dist/heatwave}/isobar/quadtreecontours.js +300 -336
- package/{heatwave → dist/heatwave}/plugins/heatwaveglobeshell.js +206 -258
- package/dist/index.js +58 -0
- package/{jest.config.js → dist/jest.config.js} +7 -6
- package/{partialrings → dist/partialrings}/buffer-manager.js +81 -89
- package/dist/partialrings/index.js +41 -0
- package/{partialrings → dist/partialrings}/plugin.js +135 -160
- package/{partialrings → dist/partialrings}/program.js +204 -242
- package/{pin → dist/pin}/pin-object-array.js +305 -381
- package/{pin → dist/pin}/pin-point-totem.js +60 -77
- package/{point-heat-map → dist/point-heat-map}/adaptors/timetracksplugin-format-to-this.js +66 -78
- package/dist/point-heat-map/index.js +1 -0
- package/{point-heat-map → dist/point-heat-map}/plugin-webworker.js +126 -151
- package/{point-heat-map → dist/point-heat-map}/point-to-heat-map-flow.js +127 -150
- package/dist/point-tracks/key-methods.js +5 -0
- package/{point-tracks → dist/point-tracks}/plugin.js +338 -394
- package/dist/programs/arrowfield/index.js +7 -0
- package/{programs → dist/programs}/arrowfield/logic.js +144 -173
- package/{programs → dist/programs}/arrowfield/object.js +66 -89
- package/{programs → dist/programs}/data2legend/density-to-legend.js +76 -90
- package/{programs → dist/programs}/data2legend/point-to-density-texture.js +76 -90
- package/dist/programs/float2legendwithratio/index.js +8 -0
- package/{programs → dist/programs}/float2legendwithratio/logic.js +122 -145
- package/{programs → dist/programs}/float2legendwithratio/object.js +110 -141
- package/{programs → dist/programs}/globe-util/is-globe-moved.js +21 -27
- package/dist/programs/globeshell/index.js +8 -0
- package/dist/programs/globeshell/noise/noises.js +1 -0
- package/dist/programs/globeshell/wiggle/index.js +8 -0
- package/{programs → dist/programs}/globeshell/wiggle/logic.js +246 -272
- package/{programs → dist/programs}/globeshell/wiggle/object.js +72 -93
- package/dist/programs/helpers/blender/index.js +1 -0
- package/{programs → dist/programs}/helpers/blender/program.js +61 -73
- package/dist/programs/helpers/fadeaway/index.js +7 -0
- package/{programs → dist/programs}/helpers/fadeaway/logic.js +49 -53
- package/dist/programs/helpers/fadeaway/object.js +20 -0
- package/dist/programs/helpers/index.js +8 -0
- package/dist/programs/index.js +58 -0
- package/dist/programs/interface.js +1 -0
- package/{programs → dist/programs}/line-on-globe/angled-line.js +125 -155
- package/{programs → dist/programs}/line-on-globe/circle-accurate-3d.js +95 -121
- package/{programs → dist/programs}/line-on-globe/circle-accurate-flat.js +158 -204
- package/{programs → dist/programs}/line-on-globe/circle-accurate.js +117 -141
- package/{programs → dist/programs}/line-on-globe/circle.js +111 -135
- package/{programs → dist/programs}/line-on-globe/degree-padding-around-circle-3d.js +111 -140
- package/dist/programs/line-on-globe/index.js +1 -0
- package/{programs → dist/programs}/line-on-globe/lines-color-instanced-flat.js +91 -106
- package/{programs/line-on-globe/linestrip.ts → dist/programs/line-on-globe/linestrip.js} +108 -165
- package/{programs → dist/programs}/line-on-globe/naive-accurate-flexible.js +127 -171
- package/{programs → dist/programs}/line-on-globe/to-the-surface.js +83 -101
- package/dist/programs/line-on-globe/util.js +8 -0
- package/{programs → dist/programs}/picking/pickable-renderer.js +107 -135
- package/{programs → dist/programs}/point-on-globe/element-globe-surface-glow.js +101 -127
- package/{programs → dist/programs}/point-on-globe/element-point-glow.js +88 -119
- package/{programs → dist/programs}/point-on-globe/square-pixel-point.js +126 -141
- package/{programs/programcache.ts → dist/programs/programcache.js} +131 -131
- package/{programs → dist/programs}/rings/distancering/circleflatprogram.js +115 -95
- package/{programs → dist/programs}/rings/distancering/circlepaddingfreeangleprogram.js +320 -329
- package/{programs → dist/programs}/rings/distancering/circlepaddysharedbuffer.js +357 -420
- package/dist/programs/rings/distancering/index.js +14 -0
- package/{programs → dist/programs}/rings/distancering/paddyflatprogram.js +120 -94
- package/{programs → dist/programs}/rings/distancering/paddyflatprogram2d.js +122 -98
- package/{programs → dist/programs}/rings/distancering/paddyflatprogram3d.js +120 -94
- package/dist/programs/rings/distancering/shader.js +1 -0
- package/dist/programs/rings/index.js +17 -0
- package/{programs → dist/programs}/rings/partial-ring/piece-of-pie.js +181 -221
- package/{programs → dist/programs}/totems/camerauniformblock.js +147 -184
- package/{programs → dist/programs}/totems/canvas-webglobe-info.js +102 -128
- package/{programs → dist/programs}/totems/gpu-selection-uniform-block.js +104 -128
- package/dist/programs/totems/index.js +40 -0
- package/dist/programs/two-d/pixel-circle.js +1 -0
- package/{programs → dist/programs}/two-d/pixel-padding-for-compass.js +101 -113
- package/{programs → dist/programs}/util.js +17 -20
- package/dist/programs/vectorfields/index.js +23 -0
- package/{programs → dist/programs}/vectorfields/logics/drawrectangleparticles.js +65 -83
- package/dist/programs/vectorfields/logics/index.js +12 -0
- package/{programs → dist/programs}/vectorfields/logics/pixelbased.js +84 -103
- package/{programs → dist/programs}/vectorfields/logics/ubo.js +55 -56
- package/{programs → dist/programs}/vectorfields/pingpongbuffermanager.js +76 -80
- package/dist/rangerings/enum.js +5 -0
- package/dist/rangerings/index.js +15 -0
- package/{rangerings → dist/rangerings}/plugin.js +560 -649
- package/{rangerings → dist/rangerings}/rangeringangletext.js +329 -368
- package/{rangerings → dist/rangerings}/ring-account.js +117 -129
- package/{shaders → dist/shaders}/fragment-toy/firework.js +5 -2
- package/{shaders → dist/shaders}/fragment-toy/singularity.js +5 -5
- package/{shape-on-terrain/arc/naive/plugin.ts → dist/shape-on-terrain/arc/naive/plugin.js} +252 -304
- package/{timetracks → dist/timetracks}/adaptors-line-strip.js +71 -80
- package/{timetracks → dist/timetracks}/adaptors.js +122 -133
- package/dist/timetracks/index.js +19 -0
- package/{timetracks → dist/timetracks}/plugin-line-strip.js +250 -295
- package/{timetracks → dist/timetracks}/plugin.js +258 -304
- package/{timetracks → dist/timetracks}/program-line-strip.js +416 -493
- package/{timetracks → dist/timetracks}/program.js +464 -542
- package/{timetracks → dist/timetracks}/programpoint-line-strip.js +101 -122
- package/{timetracks → dist/timetracks}/programpoint.js +101 -122
- package/{types.ts → dist/types.js} +15 -17
- package/{util → dist/util}/account/bufferoffsetmanager.js +179 -209
- package/dist/util/account/index.js +23 -0
- package/{util/account/single-attribute-buffer-management/buffer-manager.ts → dist/util/account/single-attribute-buffer-management/buffer-manager.js} +108 -119
- package/{util/account/single-attribute-buffer-management/buffer-orchestrator.ts → dist/util/account/single-attribute-buffer-management/buffer-orchestrator.js} +150 -173
- package/dist/util/account/single-attribute-buffer-management/index.js +9 -0
- package/{util/account/single-attribute-buffer-management/object-store.ts → dist/util/account/single-attribute-buffer-management/object-store.js} +51 -65
- package/dist/util/account/single-attribute-buffer-management/types.js +2 -0
- package/{util → dist/util}/account/util.js +22 -22
- package/dist/util/algorithms/index.js +1 -0
- package/{util → dist/util}/algorithms/search-binary.js +28 -26
- package/dist/util/check/get.js +18 -0
- package/dist/util/check/index.js +1 -0
- package/dist/util/check/typecheck.js +49 -0
- package/{util → dist/util}/geometry/index.js +51 -53
- package/{util/gl-util/buffer/attribute-loader.ts → dist/util/gl-util/buffer/attribute-loader.js} +69 -85
- package/dist/util/gl-util/buffer/index.js +6 -0
- package/dist/util/gl-util/buffer/types.js +1 -0
- package/dist/util/gl-util/draw-options/methods.js +38 -0
- package/dist/util/gl-util/draw-options/types.js +15 -0
- package/{util/gl-util/uniform-block/manager.ts → dist/util/gl-util/uniform-block/manager.js} +156 -187
- package/dist/util/gl-util/uniform-block/shader.js +1 -0
- package/dist/util/gl-util/uniform-block/types.js +8 -0
- package/{util → dist/util}/heatwavedatamanager/datamanager.js +152 -168
- package/dist/util/heatwavedatamanager/index.js +10 -0
- package/{util → dist/util}/heatwavedatamanager/pointcoordinatesdatacalculator.js +122 -133
- package/{util → dist/util}/heatwavedatamanager/pointcoordsmeta.js +20 -22
- package/dist/util/index.js +57 -0
- package/dist/util/interpolation/index.js +1 -0
- package/dist/util/interpolation/timetrack/index.js +5 -0
- package/{util → dist/util}/interpolation/timetrack/timetrack-interpolator.js +79 -88
- package/{util → dist/util}/interpolation/timetrack/web-worker-str.js +5 -2
- package/{util → dist/util}/interpolation/timetrack/web-worker.js +48 -51
- package/{util → dist/util}/jshelpers/data-filler.js +20 -19
- package/{util → dist/util}/jshelpers/equality.js +20 -17
- package/dist/util/jshelpers/index.js +37 -0
- package/{util → dist/util}/jshelpers/timefilters.js +32 -32
- package/{util → dist/util}/picking/fence.js +46 -46
- package/{util → dist/util}/picking/picker-displayer.js +139 -177
- package/{util → dist/util}/programs/draw-texture-on-canvas.js +69 -82
- package/dist/util/programs/index.js +17 -0
- package/{util → dist/util}/programs/shapesonglobe.js +174 -206
- package/{util → dist/util}/programs/supersampletotextures.js +103 -132
- package/{util → dist/util}/programs/texturetoglobe.js +133 -154
- package/{util/shaderfunctions/geometrytransformations.ts → dist/util/shaderfunctions/geometrytransformations.js} +68 -116
- package/dist/util/shaderfunctions/index.js +18 -0
- package/{util → dist/util}/shaderfunctions/nodata.js +5 -4
- package/{util → dist/util}/shaderfunctions/noisefunctions.js +9 -10
- package/{util/surface-line-data/arc-bboxes.ts → dist/util/surface-line-data/arc-bboxes.js} +25 -42
- package/{util → dist/util}/surface-line-data/arcs-to-cuts.js +50 -74
- package/dist/util/surface-line-data/cut-arc.js +1 -0
- package/{util/surface-line-data/flow.ts → dist/util/surface-line-data/flow.js} +28 -52
- package/dist/util/surface-line-data/rbush-manager.js +1 -0
- package/dist/util/surface-line-data/types.js +1 -0
- package/dist/util/surface-line-data/web-worker.js +1 -0
- package/dist/util/webglobe/gldefaultstates.js +7 -0
- package/dist/util/webglobe/index.js +18 -0
- package/{util → dist/util}/webglobe/rasteroverlay.js +78 -96
- package/{util/webglobjectbuilders.ts → dist/util/webglobjectbuilders.js} +388 -456
- package/{util → dist/util}/webglobjectbuilders1.js +237 -271
- package/{waveparticles → dist/waveparticles}/adaptor.js +17 -16
- package/dist/waveparticles/index.js +10 -0
- package/{waveparticles → dist/waveparticles}/plugin.js +266 -313
- package/{wind → dist/wind}/imagetovectorfieldandmagnitude.js +35 -39
- package/dist/wind/index.js +14 -0
- package/{wind → dist/wind}/plugin.js +681 -812
- package/{wind → dist/wind}/vectorfieldimage.js +25 -27
- package/{write-text → dist/write-text}/attached-text-writer.js +91 -105
- package/{write-text → dist/write-text}/context-text.js +98 -125
- package/{write-text → dist/write-text}/context-text3.js +155 -178
- package/dist/write-text/index.js +5 -0
- package/{write-text → dist/write-text}/writer-plugin.js +8 -7
- package/package.json +5 -2
- package/Math/arc.ts +0 -76
- package/Math/constants.ts +0 -11
- package/Math/frustum/types.ts +0 -11
- package/Math/index.js +0 -0
- package/Math/juction/arc-plane.ts +0 -114
- package/Math/juction/line-sphere.ts +0 -30
- package/Math/line.ts +0 -70
- package/Math/matrix4.ts +0 -0
- package/Math/plane.ts +0 -86
- package/Math/roadmap.md +0 -10
- package/Math/types.ts +0 -45
- package/Math/utils.js +0 -3
- package/algorithms/search-binary.js +0 -14
- package/altitude-locator/adaptors.js +0 -0
- package/altitude-locator/keymethod.js +0 -0
- package/arrowfield/index.js +0 -3
- package/bearing-line/index.js +0 -2
- package/circle-line-chain/init.js +0 -0
- package/circle-line-chain/readme.md +0 -57
- package/circle-line-chain/util.js +0 -1
- package/compass-rose/index.js +0 -3
- package/compassrose/index.js +0 -2
- package/depth-locator/readme.md +0 -26
- package/globe-types.ts +0 -13
- package/heatwave/index.js +0 -4
- package/partialrings/goals.md +0 -17
- package/partialrings/index.js +0 -3
- package/point-heat-map/index.js +0 -0
- package/point-heat-map/readme.md +0 -15
- package/point-tracks/key-methods.js +0 -3
- package/programs/arrowfield/index.js +0 -2
- package/programs/float2legendwithratio/index.js +0 -3
- package/programs/globeshell/index.js +0 -2
- package/programs/globeshell/noise/noises.js +0 -0
- package/programs/globeshell/wiggle/index.js +0 -6
- package/programs/helpers/blender/index.js +0 -0
- package/programs/helpers/fadeaway/index.js +0 -3
- package/programs/helpers/fadeaway/object.js +0 -20
- package/programs/helpers/index.js +0 -2
- package/programs/index.js +0 -21
- package/programs/interface.ts +0 -7
- package/programs/line-on-globe/index.js +0 -0
- package/programs/line-on-globe/util.js +0 -8
- package/programs/rings/distancering/index.js +0 -5
- package/programs/rings/distancering/shader.js +0 -0
- package/programs/rings/index.js +0 -1
- package/programs/totems/camerauniformblock.d.ts +0 -48
- package/programs/totems/index.ts +0 -2
- package/programs/two-d/pixel-circle.js +0 -0
- package/programs/vectorfields/index.js +0 -3
- package/programs/vectorfields/logics/index.js +0 -5
- package/publish.bat +0 -60
- package/rangerings/enum.js +0 -3
- package/rangerings/index.js +0 -5
- package/shape-on-terrain/goal.md +0 -12
- package/tests/Math/junction/arc-plane.test.ts +0 -133
- package/tests/Math/junction/plane-plane.test.ts +0 -82
- package/tests/Math/plane.test.ts +0 -43
- package/tests/Math/vec3.test.ts +0 -14
- package/timetracks/index.js +0 -6
- package/timetracks/readme.md +0 -1
- package/tsconfig.json +0 -22
- package/util/account/index.js +0 -6
- package/util/account/single-attribute-buffer-management/index.ts +0 -13
- package/util/account/single-attribute-buffer-management/types.ts +0 -39
- package/util/algorithms/index.js +0 -0
- package/util/check/get.js +0 -13
- package/util/check/index.js +0 -0
- package/util/check/typecheck.js +0 -39
- package/util/gl-util/buffer/index.ts +0 -6
- package/util/gl-util/buffer/types.ts +0 -13
- package/util/gl-util/draw-options/methods.ts +0 -66
- package/util/gl-util/draw-options/types.ts +0 -28
- package/util/gl-util/uniform-block/roadmap.md +0 -70
- package/util/gl-util/uniform-block/shader.js +0 -0
- package/util/gl-util/uniform-block/types.ts +0 -27
- package/util/heatwavedatamanager/index.js +0 -3
- package/util/index.js +0 -13
- package/util/interpolation/index.js +0 -0
- package/util/interpolation/timetrack/index.js +0 -9
- package/util/jshelpers/index.js +0 -1
- package/util/programs/index.js +0 -1
- package/util/shaderfunctions/index.js +0 -2
- package/util/surface-line-data/cut-arc.js +0 -0
- package/util/surface-line-data/rbush-manager.js +0 -0
- package/util/surface-line-data/types.ts +0 -27
- package/util/surface-line-data/web-worker.js +0 -0
- package/util/webglobe/gldefaultstates.js +0 -5
- package/util/webglobe/index.js +0 -2
- package/waveparticles/index.js +0 -3
- package/wind/index.js +0 -5
- 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,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
|
package/arrowfield/index.js
DELETED
package/bearing-line/index.js
DELETED
|
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}`;
|
package/compass-rose/index.js
DELETED
package/compassrose/index.js
DELETED
package/depth-locator/readme.md
DELETED
|
@@ -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
package/heatwave/index.js
DELETED
package/partialrings/goals.md
DELETED
|
@@ -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
|
package/partialrings/index.js
DELETED
package/point-heat-map/index.js
DELETED
|
File without changes
|
package/point-heat-map/readme.md
DELETED
|
@@ -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.
|
|
File without changes
|
|
File without changes
|
|
@@ -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
|
-
}
|
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
|
-
};
|
package/programs/interface.ts
DELETED
|
@@ -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,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
|
package/programs/rings/index.js
DELETED
|
@@ -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
|
-
}>;
|
package/programs/totems/index.ts
DELETED
|
File without changes
|
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..."
|
package/rangerings/enum.js
DELETED