@pirireis/webglobeplugins 0.9.12 → 0.9.14
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/angle-calculation.js +1 -3
- package/Math/arc.js +29 -32
- package/Math/bounds/line-bbox.js +1 -3
- package/Math/constants.js +1 -6
- package/Math/frustum/types.js +1 -2
- package/Math/juction/arc-plane.js +32 -35
- package/Math/juction/line-sphere.js +9 -12
- package/Math/juction/plane-plane.js +15 -18
- package/Math/line.js +30 -33
- package/Math/methods.js +6 -24
- package/Math/plane.js +22 -25
- package/Math/quaternion.js +6 -9
- package/Math/types.js +1 -2
- package/Math/utils.js +2 -4
- package/Math/vec3.js +5 -8
- package/algorithms/search-binary.js +1 -4
- package/altitude-locator/draw-subset-obj.js +1 -3
- package/altitude-locator/plugin.js +34 -37
- package/altitude-locator/types.js +1 -3
- package/arrowfield/adaptor.js +1 -4
- package/arrowfield/index.js +3 -10
- package/arrowfield/plugin.js +3 -6
- package/bearing-line/index.js +2 -8
- package/bearing-line/plugin.js +62 -66
- package/circle-line-chain/chain-list-map.js +1 -5
- package/circle-line-chain/plugin.js +46 -50
- package/circle-line-chain/util.js +1 -5
- package/compass-rose/compass-rose-padding-flat.js +12 -16
- package/compass-rose/compass-text-writer.js +3 -7
- package/compass-rose/index.js +3 -7
- package/compassrose/compassrose.js +6 -9
- package/compassrose/index.js +2 -8
- package/heatwave/index.js +3 -10
- package/heatwave/isobar/objectarraylabels.js +7 -9
- package/heatwave/isobar/plugin.js +14 -54
- package/heatwave/isobar/quadtreecontours.js +2 -4
- package/heatwave/plugins/heatwaveglobeshell.js +9 -12
- package/index.js +12 -58
- package/package.json +1 -1
- package/partialrings/buffer-manager.js +2 -8
- package/partialrings/index.js +2 -41
- package/partialrings/plugin.js +13 -20
- package/partialrings/program.js +23 -30
- package/pin/pin-object-array.js +8 -13
- package/point-heat-map/adaptors/timetracksplugin-format-to-this.js +3 -6
- package/point-heat-map/plugin-webworker.js +11 -14
- package/point-heat-map/point-to-heat-map-flow.js +9 -12
- package/point-tracks/key-methods.js +1 -4
- package/point-tracks/plugin.js +15 -19
- package/programs/arrowfield/index.js +2 -7
- package/programs/arrowfield/logic.js +7 -10
- package/programs/arrowfield/object.js +7 -13
- package/programs/data2legend/density-to-legend.js +6 -9
- package/programs/data2legend/point-to-density-texture.js +13 -16
- package/programs/float2legendwithratio/index.js +2 -8
- package/programs/float2legendwithratio/logic.js +3 -6
- package/programs/float2legendwithratio/object.js +5 -11
- package/programs/globe-util/is-globe-moved.js +3 -5
- package/programs/globeshell/index.js +2 -8
- package/programs/globeshell/wiggle/index.js +2 -8
- package/programs/globeshell/wiggle/logic.js +3 -6
- package/programs/globeshell/wiggle/object.js +5 -11
- package/programs/helpers/blender/program.js +3 -6
- package/programs/helpers/fadeaway/index.js +2 -7
- package/programs/helpers/fadeaway/logic.js +3 -6
- package/programs/helpers/fadeaway/object.js +5 -11
- package/programs/helpers/index.js +2 -8
- package/programs/index.js +9 -58
- package/programs/line-on-globe/angled-line.js +19 -22
- package/programs/line-on-globe/circle-accurate-3d.js +21 -24
- package/programs/line-on-globe/circle-accurate-flat.js +18 -24
- package/programs/line-on-globe/circle-accurate.js +27 -30
- package/programs/line-on-globe/circle.js +26 -29
- package/programs/line-on-globe/degree-padding-around-circle-3d.js +23 -26
- package/programs/line-on-globe/lines-color-instanced-flat.js +20 -24
- package/programs/line-on-globe/linestrip.js +28 -31
- package/programs/line-on-globe/naive-accurate-flexible.js +29 -32
- package/programs/line-on-globe/to-the-surface.js +15 -17
- package/programs/line-on-globe/util.js +1 -4
- package/programs/picking/pickable-renderer.js +25 -28
- package/programs/point-on-globe/element-globe-surface-glow.js +22 -25
- package/programs/point-on-globe/element-point-glow.js +26 -29
- package/programs/point-on-globe/square-pixel-point.js +13 -16
- package/programs/programcache.js +1 -6
- package/programs/rings/distancering/circleflatprogram.js +20 -56
- package/programs/rings/distancering/circlepaddingfreeangleprogram.js +21 -58
- package/programs/rings/distancering/circlepaddysharedbuffer.js +1 -4
- package/programs/rings/distancering/index.js +5 -14
- package/programs/rings/distancering/paddyflatprogram.js +21 -57
- package/programs/rings/distancering/paddyflatprogram2d.js +21 -57
- package/programs/rings/distancering/paddyflatprogram3d.js +21 -57
- package/programs/rings/index.js +1 -17
- package/programs/rings/partial-ring/piece-of-pie.js +23 -25
- package/programs/totems/camerauniformblock.js +7 -11
- package/programs/totems/canvas-webglobe-info.js +6 -10
- package/programs/totems/gpu-selection-uniform-block.js +7 -11
- package/programs/totems/index.js +2 -40
- package/programs/two-d/pixel-padding-for-compass.js +10 -13
- package/programs/util.js +1 -3
- package/programs/vectorfields/index.js +3 -23
- package/programs/vectorfields/logics/drawrectangleparticles.js +9 -12
- package/programs/vectorfields/logics/index.js +4 -12
- package/programs/vectorfields/logics/pixelbased.js +10 -13
- package/programs/vectorfields/logics/ubo.js +1 -7
- package/programs/vectorfields/pingpongbuffermanager.js +1 -4
- package/rangerings/enum.js +2 -5
- package/rangerings/index.js +5 -15
- package/rangerings/plugin.js +61 -68
- package/rangerings/rangeringangletext.js +26 -29
- package/rangerings/ring-account.js +1 -6
- package/shaders/fragment-toy/firework.js +1 -4
- package/shaders/fragment-toy/singularity.js +1 -4
- package/timetracks/adaptors-line-strip.js +3 -9
- package/timetracks/adaptors.js +3 -8
- package/timetracks/index.js +5 -19
- package/timetracks/plugin-line-strip.js +6 -12
- package/timetracks/plugin.js +6 -12
- package/timetracks/program-line-strip.js +9 -12
- package/timetracks/program.js +10 -13
- package/timetracks/programpoint-line-strip.js +6 -9
- package/timetracks/programpoint.js +6 -9
- package/util/account/bufferoffsetmanager.js +1 -4
- package/util/account/index.js +3 -23
- package/util/account/single-attribute-buffer-management/buffer-manager.js +1 -5
- package/util/account/single-attribute-buffer-management/buffer-orchestrator.js +1 -5
- package/util/account/single-attribute-buffer-management/index.js +4 -9
- package/util/account/single-attribute-buffer-management/object-store.js +1 -5
- package/util/account/single-attribute-buffer-management/types.js +1 -2
- package/util/account/util.js +1 -5
- package/util/algorithms/search-binary.js +1 -4
- package/util/check/get.js +1 -5
- package/util/check/typecheck.js +7 -16
- package/util/geometry/index.js +1 -7
- package/util/gl-util/buffer/attribute-loader.js +2 -6
- package/util/gl-util/buffer/index.js +2 -5
- package/util/gl-util/draw-options/methods.js +2 -6
- package/util/gl-util/uniform-block/manager.js +2 -5
- package/util/heatwavedatamanager/datamanager.js +1 -4
- package/util/heatwavedatamanager/index.js +3 -10
- package/util/heatwavedatamanager/pointcoordinatesdatacalculator.js +3 -9
- package/util/heatwavedatamanager/pointcoordsmeta.js +1 -4
- package/util/index.js +13 -57
- package/util/interpolation/timetrack/index.js +1 -4
- package/util/interpolation/timetrack/timetrack-interpolator.js +6 -10
- package/util/interpolation/timetrack/web-worker-str.js +1 -4
- package/util/interpolation/timetrack/web-worker.js +2 -4
- package/util/jshelpers/data-filler.js +1 -4
- package/util/jshelpers/equality.js +1 -3
- package/util/jshelpers/index.js +2 -37
- package/util/jshelpers/timefilters.js +1 -3
- package/util/picking/fence.js +1 -4
- package/util/picking/picker-displayer.js +6 -9
- package/util/programs/draw-texture-on-canvas.js +6 -9
- package/util/programs/index.js +1 -17
- package/util/programs/shapesonglobe.js +9 -13
- package/util/programs/supersampletotextures.js +3 -7
- package/util/programs/texturetoglobe.js +8 -11
- package/util/shaderfunctions/geometrytransformations.js +24 -31
- package/util/shaderfunctions/index.js +2 -18
- package/util/shaderfunctions/nodata.js +1 -4
- package/util/shaderfunctions/noisefunctions.js +1 -3
- package/util/webglobe/gldefaultstates.js +1 -4
- package/util/webglobe/index.js +2 -18
- package/util/webglobe/rasteroverlay.js +1 -4
- package/util/webglobjectbuilders.js +16 -34
- package/util/webglobjectbuilders1.js +16 -34
- package/waveparticles/adaptor.js +1 -3
- package/waveparticles/index.js +3 -10
- package/waveparticles/plugin.js +9 -12
- package/wind/imagetovectorfieldandmagnitude.js +1 -4
- package/wind/index.js +5 -14
- package/wind/plugin.js +6 -45
- package/wind/vectorfieldimage.js +1 -3
- package/write-text/attached-text-writer.js +6 -10
- package/write-text/context-text.js +4 -8
- package/write-text/context-text3.js +7 -11
- package/write-text/index.js +1 -5
|
@@ -1,54 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.programCache = void 0;
|
|
37
|
-
const util_1 = require("../../../util");
|
|
38
|
-
const camerauniformblock_1 = __importStar(require("../../totems/camerauniformblock"));
|
|
39
|
-
const programcache_1 = require("../../programcache");
|
|
1
|
+
import { createProgram, shaderfunctions } from "../../../util";
|
|
2
|
+
import CameraUniformBlockTotem, { CameraUniformBlockString } from "../../totems/camerauniformblock";
|
|
3
|
+
import { noRegisterGlobeProgramCache, globeProgramCache } from "../../programcache";
|
|
40
4
|
const CIRCLE_EDGE_COUNT = 360;
|
|
41
5
|
const vertexShader = `#version 300 es ` +
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
6
|
+
shaderfunctions.PI +
|
|
7
|
+
shaderfunctions.R +
|
|
8
|
+
shaderfunctions.POLE +
|
|
9
|
+
CameraUniformBlockString +
|
|
10
|
+
shaderfunctions.mercatorXYToGLPosition +
|
|
11
|
+
shaderfunctions.longLatRadToMercator +
|
|
12
|
+
shaderfunctions.longLatRadToCartesian3D +
|
|
13
|
+
shaderfunctions.circleLimpFromLongLatRadCenterCartesian3D +
|
|
14
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorCompass +
|
|
15
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistance + `
|
|
52
16
|
|
|
53
17
|
uniform int compass;
|
|
54
18
|
uniform float circle_edge_count;
|
|
@@ -85,7 +49,7 @@ void main() {
|
|
|
85
49
|
}`;
|
|
86
50
|
const fragmentShader = `#version 300 es
|
|
87
51
|
precision highp float;` +
|
|
88
|
-
|
|
52
|
+
shaderfunctions.POLE + `
|
|
89
53
|
|
|
90
54
|
in vec4 v_color;
|
|
91
55
|
in vec2 v_limp;
|
|
@@ -98,7 +62,7 @@ class Logic {
|
|
|
98
62
|
constructor(globe) {
|
|
99
63
|
this.globe = globe;
|
|
100
64
|
this.gl = globe.gl;
|
|
101
|
-
this.program =
|
|
65
|
+
this.program = createProgram(this.gl, vertexShader, fragmentShader);
|
|
102
66
|
{ // bind positions so bufferManager can use them
|
|
103
67
|
this.gl.bindAttribLocation(this.program, 0, "center");
|
|
104
68
|
this.gl.bindAttribLocation(this.program, 1, "radius");
|
|
@@ -106,7 +70,7 @@ class Logic {
|
|
|
106
70
|
this.gl.bindAttribLocation(this.program, 3, "flag");
|
|
107
71
|
}
|
|
108
72
|
this.cameraBlockBindingPoint = 0;
|
|
109
|
-
this.cameraBlockTotem =
|
|
73
|
+
this.cameraBlockTotem = globeProgramCache.getProgram(globe, CameraUniformBlockTotem);
|
|
110
74
|
const cameraBlockIndex = this.gl.getUniformBlockIndex(this.program, "CameraUniformBlock");
|
|
111
75
|
this.gl.uniformBlockBinding(this.program, cameraBlockIndex, this.cameraBlockBindingPoint);
|
|
112
76
|
this._opacityLocation = this.gl.getUniformLocation(this.program, "opacity");
|
|
@@ -147,10 +111,10 @@ class Logic {
|
|
|
147
111
|
}
|
|
148
112
|
free() {
|
|
149
113
|
this.gl.deleteProgram(this.program);
|
|
150
|
-
|
|
114
|
+
globeProgramCache.releaseProgram(this.globe, CameraUniformBlockTotem);
|
|
151
115
|
}
|
|
152
116
|
}
|
|
153
|
-
|
|
154
|
-
getProgram: (globe) => { return
|
|
155
|
-
releaseProgram: (globe) => {
|
|
117
|
+
export const programCache = Object.freeze({
|
|
118
|
+
getProgram: (globe) => { return noRegisterGlobeProgramCache.getProgram(globe, Logic); },
|
|
119
|
+
releaseProgram: (globe) => { noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
|
|
156
120
|
});
|
|
@@ -1,54 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.BufferManager = exports.PaddingFreeAngleCache = void 0;
|
|
37
|
-
const util_1 = require("../../../util");
|
|
38
|
-
const account_1 = require("../../../util/account");
|
|
39
|
-
const camerauniformblock_1 = __importStar(require("../../totems/camerauniformblock"));
|
|
40
|
-
const programcache_1 = require("../../programcache");
|
|
1
|
+
import { createProgram, shaderfunctions } from "../../../util";
|
|
2
|
+
import { BufferOffsetManager } from "../../../util/account";
|
|
3
|
+
import CameraUniformBlockTotem, { CameraUniformBlockString } from "../../totems/camerauniformblock";
|
|
4
|
+
import { globeProgramCache, noRegisterGlobeProgramCache } from "../../programcache";
|
|
41
5
|
const vertexShader = `#version 300 es ` +
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
6
|
+
shaderfunctions.PI +
|
|
7
|
+
shaderfunctions.R +
|
|
8
|
+
shaderfunctions.POLE +
|
|
9
|
+
CameraUniformBlockString +
|
|
10
|
+
shaderfunctions.mercatorXYToGLPosition +
|
|
11
|
+
shaderfunctions.longLatRadToMercator +
|
|
12
|
+
shaderfunctions.longLatRadToCartesian3D +
|
|
13
|
+
shaderfunctions.circleLimpFromLongLatRadCenterCartesian3D +
|
|
14
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorCompass +
|
|
15
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistance + `
|
|
52
16
|
|
|
53
17
|
in vec2 center;
|
|
54
18
|
in float radius;
|
|
@@ -94,7 +58,7 @@ void main() {
|
|
|
94
58
|
}`;
|
|
95
59
|
const fragmentShader = `#version 300 es
|
|
96
60
|
precision highp float; ` +
|
|
97
|
-
|
|
61
|
+
shaderfunctions.POLE + `
|
|
98
62
|
in vec4 v_color;
|
|
99
63
|
in vec2 v_limp;
|
|
100
64
|
out vec4 outColor;
|
|
@@ -106,7 +70,7 @@ class Logic {
|
|
|
106
70
|
constructor(globe) {
|
|
107
71
|
this.globe = globe;
|
|
108
72
|
this.gl = globe.gl;
|
|
109
|
-
this.program =
|
|
73
|
+
this.program = createProgram(this.gl, vertexShader, fragmentShader);
|
|
110
74
|
{
|
|
111
75
|
const gl = this.gl;
|
|
112
76
|
// assign attribute locations
|
|
@@ -120,7 +84,7 @@ class Logic {
|
|
|
120
84
|
this.cameraBlockBindingPoint = 0;
|
|
121
85
|
const cameraBlockIndex = this.gl.getUniformBlockIndex(this.program, "CameraUniformBlock");
|
|
122
86
|
this.gl.uniformBlockBinding(this.program, cameraBlockIndex, this.cameraBlockBindingPoint);
|
|
123
|
-
this.cameraBlockTotem =
|
|
87
|
+
this.cameraBlockTotem = globeProgramCache.getProgram(globe, CameraUniformBlockTotem);
|
|
124
88
|
this._compassLocation = this.gl.getUniformLocation(this.program, "compass");
|
|
125
89
|
this._opacityLocation = this.gl.getUniformLocation(this.program, "opacity");
|
|
126
90
|
this._opacity = 1.0;
|
|
@@ -156,11 +120,11 @@ class Logic {
|
|
|
156
120
|
return new BufferManager(this.gl, bufferType, initialRingCapacity);
|
|
157
121
|
}
|
|
158
122
|
}
|
|
159
|
-
|
|
160
|
-
getProgram: (globe) =>
|
|
161
|
-
releaseProgram: (globe) =>
|
|
123
|
+
export const PaddingFreeAngleCache = Object.freeze({
|
|
124
|
+
getProgram: (globe) => noRegisterGlobeProgramCache.getProgram(globe, Logic),
|
|
125
|
+
releaseProgram: (globe) => globeProgramCache.releaseProgram(globe, Logic)
|
|
162
126
|
});
|
|
163
|
-
class BufferManager extends
|
|
127
|
+
export class BufferManager extends BufferOffsetManager {
|
|
164
128
|
constructor(gl, bufferType, initialRingCapacity = 10) {
|
|
165
129
|
super(10, { capacity: initialRingCapacity, bufferType });
|
|
166
130
|
this.gl = gl;
|
|
@@ -337,7 +301,6 @@ class BufferManager extends account_1.BufferOffsetManager {
|
|
|
337
301
|
this._removeFromBuffer(keys);
|
|
338
302
|
}
|
|
339
303
|
}
|
|
340
|
-
exports.BufferManager = BufferManager;
|
|
341
304
|
const offsetMapKey = (centerID, ringID, paddingAngle) => `${centerID}_${ringID}_${paddingAngle}`;
|
|
342
305
|
/**
|
|
343
306
|
* {center has x,y, color, paddingAngles, rings} key: centerID
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* ring data model
|
|
4
3
|
* [centerX, centerY, range, padding, r, g, b, a, hide]
|
|
@@ -6,7 +5,6 @@
|
|
|
6
5
|
* Buffer is initialized with ring capacity and buffer is created with that capacity. It might be called buffer orphaning.
|
|
7
6
|
*
|
|
8
7
|
* */
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
8
|
/**
|
|
11
9
|
* TODO
|
|
12
10
|
* delete registerCenter
|
|
@@ -14,7 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
14
12
|
*
|
|
15
13
|
*/
|
|
16
14
|
const RING_SIZE = 9;
|
|
17
|
-
class
|
|
15
|
+
export default class {
|
|
18
16
|
/**
|
|
19
17
|
* @param {WebGL2RenderingContext} gl
|
|
20
18
|
* @param {Object} options
|
|
@@ -340,7 +338,6 @@ class default_1 {
|
|
|
340
338
|
};
|
|
341
339
|
}
|
|
342
340
|
}
|
|
343
|
-
exports.default = default_1;
|
|
344
341
|
/**
|
|
345
342
|
* Documentation
|
|
346
343
|
*
|
|
@@ -1,14 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
exports.PaddingFreeAngleCache = exports.CirclePaddySharedBuffer = exports.PaddingProgramCache = exports.circleProgramCache = void 0;
|
|
7
|
-
const circleflatprogram_1 = require("./circleflatprogram");
|
|
8
|
-
Object.defineProperty(exports, "circleProgramCache", { enumerable: true, get: function () { return circleflatprogram_1.programCache; } });
|
|
9
|
-
const paddyflatprogram_1 = require("./paddyflatprogram");
|
|
10
|
-
Object.defineProperty(exports, "PaddingProgramCache", { enumerable: true, get: function () { return paddyflatprogram_1.PaddingProgramCache; } });
|
|
11
|
-
const circlepaddysharedbuffer_1 = __importDefault(require("./circlepaddysharedbuffer"));
|
|
12
|
-
exports.CirclePaddySharedBuffer = circlepaddysharedbuffer_1.default;
|
|
13
|
-
const circlepaddingfreeangleprogram_1 = require("./circlepaddingfreeangleprogram");
|
|
14
|
-
Object.defineProperty(exports, "PaddingFreeAngleCache", { enumerable: true, get: function () { return circlepaddingfreeangleprogram_1.PaddingFreeAngleCache; } });
|
|
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 };
|
|
@@ -1,54 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PaddingProgramCache = void 0;
|
|
37
|
-
const util_1 = require("../../../util");
|
|
38
|
-
const camerauniformblock_1 = __importStar(require("../../totems/camerauniformblock"));
|
|
39
|
-
const programcache_1 = require("../../programcache");
|
|
1
|
+
import { createProgram, shaderfunctions } from "../../../util";
|
|
2
|
+
import CameraUniformBlockTotem, { CameraUniformBlockString } from "../../totems/camerauniformblock";
|
|
3
|
+
import { globeProgramCache, noRegisterGlobeProgramCache } from "../../programcache";
|
|
40
4
|
const vertexShader = `#version 300 es ` +
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
5
|
+
shaderfunctions.PI +
|
|
6
|
+
shaderfunctions.R +
|
|
7
|
+
shaderfunctions.POLE +
|
|
8
|
+
CameraUniformBlockString +
|
|
9
|
+
shaderfunctions.mercatorXYToGLPosition +
|
|
10
|
+
shaderfunctions.longLatRadToMercator +
|
|
11
|
+
shaderfunctions.longLatRadToCartesian3D +
|
|
12
|
+
shaderfunctions.circleLimpFromLongLatRadCenterCartesian3D +
|
|
13
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorCompass +
|
|
14
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistancePadding +
|
|
15
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistance + `
|
|
52
16
|
|
|
53
17
|
in vec2 center;
|
|
54
18
|
in float radius;
|
|
@@ -97,7 +61,7 @@ void main() {
|
|
|
97
61
|
}`;
|
|
98
62
|
const fragmentShader = `#version 300 es
|
|
99
63
|
precision highp float; ` +
|
|
100
|
-
|
|
64
|
+
shaderfunctions.POLE + `
|
|
101
65
|
in vec4 v_color;
|
|
102
66
|
in vec2 v_limp;
|
|
103
67
|
out vec4 outColor;
|
|
@@ -109,7 +73,7 @@ class Logic {
|
|
|
109
73
|
constructor(globe) {
|
|
110
74
|
this.globe = globe;
|
|
111
75
|
this.gl = globe.gl;
|
|
112
|
-
this.program =
|
|
76
|
+
this.program = createProgram(this.gl, vertexShader, fragmentShader);
|
|
113
77
|
{ // bind positions so bufferManager can use them
|
|
114
78
|
this.gl.bindAttribLocation(this.program, 0, "center");
|
|
115
79
|
this.gl.bindAttribLocation(this.program, 1, "radius");
|
|
@@ -120,7 +84,7 @@ class Logic {
|
|
|
120
84
|
this.cameraBlockBindingPoint = 0;
|
|
121
85
|
const cameraBlockIndex = this.gl.getUniformBlockIndex(this.program, "CameraUniformBlock");
|
|
122
86
|
this.gl.uniformBlockBinding(this.program, cameraBlockIndex, this.cameraBlockBindingPoint);
|
|
123
|
-
this.cameraBlockTotem =
|
|
87
|
+
this.cameraBlockTotem = globeProgramCache.getProgram(globe, CameraUniformBlockTotem);
|
|
124
88
|
this._padCountLocation = this.gl.getUniformLocation(this.program, "pad_count");
|
|
125
89
|
this._opacityLocation = this.gl.getUniformLocation(this.program, "opacity");
|
|
126
90
|
this._compassLocation = this.gl.getUniformLocation(this.program, "compass");
|
|
@@ -163,10 +127,10 @@ class Logic {
|
|
|
163
127
|
}
|
|
164
128
|
free() {
|
|
165
129
|
this.gl.deleteProgram(this.program);
|
|
166
|
-
|
|
130
|
+
globeProgramCache.releaseProgram(this.globe, CameraUniformBlockTotem);
|
|
167
131
|
}
|
|
168
132
|
}
|
|
169
|
-
|
|
170
|
-
getProgram: (globe) => { return
|
|
171
|
-
releaseProgram: (globe) => {
|
|
133
|
+
export const PaddingProgramCache = Object.freeze({
|
|
134
|
+
getProgram: (globe) => { return noRegisterGlobeProgramCache.getProgram(globe, Logic); },
|
|
135
|
+
releaseProgram: (globe) => { noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
|
|
172
136
|
});
|
|
@@ -1,54 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PaddingProgramCache = void 0;
|
|
37
|
-
const util_1 = require("../../../util");
|
|
38
|
-
const camerauniformblock_1 = __importStar(require("../../totems/camerauniformblock"));
|
|
39
|
-
const programcache_1 = require("../../programcache");
|
|
1
|
+
import { createProgram, shaderfunctions } from "../../../util";
|
|
2
|
+
import CameraUniformBlockTotem, { CameraUniformBlockString } from "../../totems/camerauniformblock";
|
|
3
|
+
import { globeProgramCache, noRegisterGlobeProgramCache } from "../../programcache";
|
|
40
4
|
const vertexShader = `#version 300 es ` +
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
5
|
+
shaderfunctions.PI +
|
|
6
|
+
shaderfunctions.R +
|
|
7
|
+
shaderfunctions.POLE +
|
|
8
|
+
CameraUniformBlockString +
|
|
9
|
+
shaderfunctions.mercatorXYToGLPosition +
|
|
10
|
+
shaderfunctions.longLatRadToMercator +
|
|
11
|
+
shaderfunctions.longLatRadToCartesian3D +
|
|
12
|
+
shaderfunctions.circleLimpFromLongLatRadCenterCartesian3D +
|
|
13
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorCompass +
|
|
14
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistancePadding +
|
|
15
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistance + `
|
|
52
16
|
|
|
53
17
|
in vec2 center;
|
|
54
18
|
in float radius;
|
|
@@ -97,7 +61,7 @@ void main() {
|
|
|
97
61
|
}`;
|
|
98
62
|
const fragmentShader = `#version 300 es
|
|
99
63
|
precision highp float; ` +
|
|
100
|
-
|
|
64
|
+
shaderfunctions.POLE + `
|
|
101
65
|
in vec4 v_color;
|
|
102
66
|
in vec2 v_limp;
|
|
103
67
|
out vec4 outColor;
|
|
@@ -109,7 +73,7 @@ class Logic {
|
|
|
109
73
|
constructor(globe) {
|
|
110
74
|
this.globe = globe;
|
|
111
75
|
this.gl = globe.gl;
|
|
112
|
-
this.program =
|
|
76
|
+
this.program = createProgram(this.gl, vertexShader, fragmentShader);
|
|
113
77
|
{ // bind positions so bufferManager can use them
|
|
114
78
|
this.gl.bindAttribLocation(this.program, 0, "center");
|
|
115
79
|
this.gl.bindAttribLocation(this.program, 1, "radius");
|
|
@@ -120,7 +84,7 @@ class Logic {
|
|
|
120
84
|
this.cameraBlockBindingPoint = 0;
|
|
121
85
|
const cameraBlockIndex = this.gl.getUniformBlockIndex(this.program, "CameraUniformBlock");
|
|
122
86
|
this.gl.uniformBlockBinding(this.program, cameraBlockIndex, this.cameraBlockBindingPoint);
|
|
123
|
-
this.cameraBlockTotem =
|
|
87
|
+
this.cameraBlockTotem = globeProgramCache.getProgram(globe, CameraUniformBlockTotem);
|
|
124
88
|
this._padCountLocation = this.gl.getUniformLocation(this.program, "pad_count");
|
|
125
89
|
this._opacityLocation = this.gl.getUniformLocation(this.program, "opacity");
|
|
126
90
|
this._compassLocation = this.gl.getUniformLocation(this.program, "compass");
|
|
@@ -165,10 +129,10 @@ class Logic {
|
|
|
165
129
|
}
|
|
166
130
|
free() {
|
|
167
131
|
this.gl.deleteProgram(this.program);
|
|
168
|
-
|
|
132
|
+
globeProgramCache.releaseProgram(this.globe, CameraUniformBlockTotem);
|
|
169
133
|
}
|
|
170
134
|
}
|
|
171
|
-
|
|
172
|
-
getProgram: (globe) => { return
|
|
173
|
-
releaseProgram: (globe) => {
|
|
135
|
+
export const PaddingProgramCache = Object.freeze({
|
|
136
|
+
getProgram: (globe) => { return noRegisterGlobeProgramCache.getProgram(globe, Logic); },
|
|
137
|
+
releaseProgram: (globe) => { noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
|
|
174
138
|
});
|
|
@@ -1,54 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.PaddingProgramCache = void 0;
|
|
37
|
-
const util_1 = require("../../../util");
|
|
38
|
-
const camerauniformblock_1 = __importStar(require("../../totems/camerauniformblock"));
|
|
39
|
-
const programcache_1 = require("../../programcache");
|
|
1
|
+
import { createProgram, shaderfunctions } from "../../../util";
|
|
2
|
+
import CameraUniformBlockTotem, { CameraUniformBlockString } from "../../totems/camerauniformblock";
|
|
3
|
+
import { globeProgramCache, noRegisterGlobeProgramCache } from "../../programcache";
|
|
40
4
|
const vertexShader = `#version 300 es ` +
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
5
|
+
shaderfunctions.PI +
|
|
6
|
+
shaderfunctions.R +
|
|
7
|
+
shaderfunctions.POLE +
|
|
8
|
+
CameraUniformBlockString +
|
|
9
|
+
shaderfunctions.mercatorXYToGLPosition +
|
|
10
|
+
shaderfunctions.longLatRadToMercator +
|
|
11
|
+
shaderfunctions.longLatRadToCartesian3D +
|
|
12
|
+
shaderfunctions.circleLimpFromLongLatRadCenterCartesian3D +
|
|
13
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorCompass +
|
|
14
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistancePadding +
|
|
15
|
+
shaderfunctions.circleLimpFromLongLatRadCenterMercatorRealDistance + `
|
|
52
16
|
|
|
53
17
|
in vec2 center;
|
|
54
18
|
in float radius;
|
|
@@ -97,7 +61,7 @@ void main() {
|
|
|
97
61
|
}`;
|
|
98
62
|
const fragmentShader = `#version 300 es
|
|
99
63
|
precision highp float; ` +
|
|
100
|
-
|
|
64
|
+
shaderfunctions.POLE + `
|
|
101
65
|
in vec4 v_color;
|
|
102
66
|
in vec2 v_limp;
|
|
103
67
|
out vec4 outColor;
|
|
@@ -109,7 +73,7 @@ class Logic {
|
|
|
109
73
|
constructor(globe) {
|
|
110
74
|
this.globe = globe;
|
|
111
75
|
this.gl = globe.gl;
|
|
112
|
-
this.program =
|
|
76
|
+
this.program = createProgram(this.gl, vertexShader, fragmentShader);
|
|
113
77
|
{ // bind positions so bufferManager can use them
|
|
114
78
|
this.gl.bindAttribLocation(this.program, 0, "center");
|
|
115
79
|
this.gl.bindAttribLocation(this.program, 1, "radius");
|
|
@@ -120,7 +84,7 @@ class Logic {
|
|
|
120
84
|
this.cameraBlockBindingPoint = 0;
|
|
121
85
|
const cameraBlockIndex = this.gl.getUniformBlockIndex(this.program, "CameraUniformBlock");
|
|
122
86
|
this.gl.uniformBlockBinding(this.program, cameraBlockIndex, this.cameraBlockBindingPoint);
|
|
123
|
-
this.cameraBlockTotem =
|
|
87
|
+
this.cameraBlockTotem = globeProgramCache.getProgram(globe, CameraUniformBlockTotem);
|
|
124
88
|
this._padCountLocation = this.gl.getUniformLocation(this.program, "pad_count");
|
|
125
89
|
this._opacityLocation = this.gl.getUniformLocation(this.program, "opacity");
|
|
126
90
|
this._compassLocation = this.gl.getUniformLocation(this.program, "compass");
|
|
@@ -163,10 +127,10 @@ class Logic {
|
|
|
163
127
|
}
|
|
164
128
|
free() {
|
|
165
129
|
this.gl.deleteProgram(this.program);
|
|
166
|
-
|
|
130
|
+
globeProgramCache.releaseProgram(this.globe, CameraUniformBlockTotem);
|
|
167
131
|
}
|
|
168
132
|
}
|
|
169
|
-
|
|
170
|
-
getProgram: (globe) => { return
|
|
171
|
-
releaseProgram: (globe) => {
|
|
133
|
+
export const PaddingProgramCache = Object.freeze({
|
|
134
|
+
getProgram: (globe) => { return noRegisterGlobeProgramCache.getProgram(globe, Logic); },
|
|
135
|
+
releaseProgram: (globe) => { noRegisterGlobeProgramCache.releaseProgram(globe, Logic); }
|
|
172
136
|
});
|
package/programs/rings/index.js
CHANGED
|
@@ -1,17 +1 @@
|
|
|
1
|
-
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./distancering"), exports);
|
|
1
|
+
export * from "./distancering";
|