@deck.gl/extensions 8.6.2 → 8.7.0-alpha.2
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/dist/dist.dev.js +108 -108
- package/dist/es5/brushing/brushing.js +49 -80
- package/dist/es5/brushing/brushing.js.map +1 -1
- package/dist/es5/brushing/shader-module.js +15 -16
- package/dist/es5/brushing/shader-module.js.map +1 -1
- package/dist/es5/clip/clip.js +35 -62
- package/dist/es5/clip/clip.js.map +1 -1
- package/dist/es5/data-filter/aggregator.js +14 -19
- package/dist/es5/data-filter/aggregator.js.map +1 -1
- package/dist/es5/data-filter/data-filter.js +148 -172
- package/dist/es5/data-filter/data-filter.js.map +1 -1
- package/dist/es5/data-filter/shader-module.js +37 -58
- package/dist/es5/data-filter/shader-module.js.map +1 -1
- package/dist/es5/fill-style/fill-style.js +158 -244
- package/dist/es5/fill-style/fill-style.js.map +1 -1
- package/dist/es5/fill-style/shaders.glsl.js +19 -18
- package/dist/es5/fill-style/shaders.glsl.js.map +1 -1
- package/dist/es5/fp64/fp64.js +12 -36
- package/dist/es5/fp64/fp64.js.map +1 -1
- package/dist/es5/fp64/project64.js +20 -18
- package/dist/es5/fp64/project64.js.map +1 -1
- package/dist/es5/index.js +7 -7
- package/dist/es5/path-style/path-style.js +89 -121
- package/dist/es5/path-style/path-style.js.map +1 -1
- package/dist/es5/path-style/shaders.glsl.js +2 -2
- package/dist/es5/path-style/shaders.glsl.js.map +1 -1
- package/dist/esm/clip/clip.js.map +1 -1
- package/dist/esm/data-filter/aggregator.js.map +1 -1
- package/dist/esm/fill-style/fill-style.js.map +1 -1
- package/dist.min.js +1 -1
- package/package.json +2 -2
- package/src/clip/clip.js +1 -1
- package/src/data-filter/aggregator.js +107 -107
|
@@ -4,41 +4,31 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.shaderModule64 = exports.shaderModule = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const vs = "\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n";
|
|
8
|
+
const fs = "\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n";
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
const getUniforms = opts => {
|
|
11
11
|
if (!opts || !opts.extensions) {
|
|
12
12
|
return {};
|
|
13
13
|
}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
var filterSoftRange = opts.filterSoftRange || filterRange;
|
|
24
|
-
var uniforms = Number.isFinite(filterRange[0]) ? {
|
|
15
|
+
const {
|
|
16
|
+
filterRange = [-1, 1],
|
|
17
|
+
filterEnabled = true,
|
|
18
|
+
filterTransformSize = true,
|
|
19
|
+
filterTransformColor = true
|
|
20
|
+
} = opts;
|
|
21
|
+
const filterSoftRange = opts.filterSoftRange || filterRange;
|
|
22
|
+
const uniforms = Number.isFinite(filterRange[0]) ? {
|
|
25
23
|
filter_min: filterRange[0],
|
|
26
24
|
filter_softMin: filterSoftRange[0],
|
|
27
25
|
filter_softMax: filterSoftRange[1],
|
|
28
26
|
filter_max: filterRange[1]
|
|
29
27
|
} : {
|
|
30
|
-
filter_min: filterRange.map(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return r[0];
|
|
35
|
-
}),
|
|
36
|
-
filter_softMax: filterSoftRange.map(function (r) {
|
|
37
|
-
return r[1];
|
|
38
|
-
}),
|
|
39
|
-
filter_max: filterRange.map(function (r) {
|
|
40
|
-
return r[1];
|
|
41
|
-
})
|
|
28
|
+
filter_min: filterRange.map(r => r[0]),
|
|
29
|
+
filter_softMin: filterSoftRange.map(r => r[0]),
|
|
30
|
+
filter_softMax: filterSoftRange.map(r => r[1]),
|
|
31
|
+
filter_max: filterRange.map(r => r[1])
|
|
42
32
|
};
|
|
43
33
|
uniforms.filter_enabled = filterEnabled;
|
|
44
34
|
uniforms.filter_useSoftMargin = Boolean(opts.filterSoftRange);
|
|
@@ -47,65 +37,54 @@ var getUniforms = function getUniforms(opts) {
|
|
|
47
37
|
return uniforms;
|
|
48
38
|
};
|
|
49
39
|
|
|
50
|
-
|
|
40
|
+
const getUniforms64 = opts => {
|
|
51
41
|
if (!opts || !opts.extensions) {
|
|
52
42
|
return {};
|
|
53
43
|
}
|
|
54
44
|
|
|
55
|
-
|
|
45
|
+
const uniforms = getUniforms(opts);
|
|
56
46
|
|
|
57
47
|
if (Number.isFinite(uniforms.filter_min)) {
|
|
58
|
-
|
|
48
|
+
const min64High = Math.fround(uniforms.filter_min);
|
|
59
49
|
uniforms.filter_min -= min64High;
|
|
60
50
|
uniforms.filter_softMin -= min64High;
|
|
61
51
|
uniforms.filter_min64High = min64High;
|
|
62
|
-
|
|
52
|
+
const max64High = Math.fround(uniforms.filter_max);
|
|
63
53
|
uniforms.filter_max -= max64High;
|
|
64
54
|
uniforms.filter_softMax -= max64High;
|
|
65
55
|
uniforms.filter_max64High = max64High;
|
|
66
56
|
} else {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
uniforms.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
uniforms.
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
uniforms.filter_min64High = _min64High;
|
|
76
|
-
|
|
77
|
-
var _max64High = uniforms.filter_max.map(Math.fround);
|
|
78
|
-
|
|
79
|
-
uniforms.filter_max = uniforms.filter_max.map(function (x, i) {
|
|
80
|
-
return x - _max64High[i];
|
|
81
|
-
});
|
|
82
|
-
uniforms.filter_softMax = uniforms.filter_softMax.map(function (x, i) {
|
|
83
|
-
return x - _max64High[i];
|
|
84
|
-
});
|
|
85
|
-
uniforms.filter_max64High = _max64High;
|
|
57
|
+
const min64High = uniforms.filter_min.map(Math.fround);
|
|
58
|
+
uniforms.filter_min = uniforms.filter_min.map((x, i) => x - min64High[i]);
|
|
59
|
+
uniforms.filter_softMin = uniforms.filter_softMin.map((x, i) => x - min64High[i]);
|
|
60
|
+
uniforms.filter_min64High = min64High;
|
|
61
|
+
const max64High = uniforms.filter_max.map(Math.fround);
|
|
62
|
+
uniforms.filter_max = uniforms.filter_max.map((x, i) => x - max64High[i]);
|
|
63
|
+
uniforms.filter_softMax = uniforms.filter_softMax.map((x, i) => x - max64High[i]);
|
|
64
|
+
uniforms.filter_max64High = max64High;
|
|
86
65
|
}
|
|
87
66
|
|
|
88
67
|
return uniforms;
|
|
89
68
|
};
|
|
90
69
|
|
|
91
|
-
|
|
70
|
+
const inject = {
|
|
92
71
|
'vs:#main-start': "\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n ",
|
|
93
72
|
'vs:DECKGL_FILTER_SIZE': "\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n ",
|
|
94
73
|
'fs:DECKGL_FILTER_COLOR': "\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n "
|
|
95
74
|
};
|
|
96
|
-
|
|
75
|
+
const shaderModule = {
|
|
97
76
|
name: 'data-filter',
|
|
98
|
-
vs
|
|
99
|
-
fs
|
|
100
|
-
inject
|
|
101
|
-
getUniforms
|
|
77
|
+
vs,
|
|
78
|
+
fs,
|
|
79
|
+
inject,
|
|
80
|
+
getUniforms
|
|
102
81
|
};
|
|
103
82
|
exports.shaderModule = shaderModule;
|
|
104
|
-
|
|
83
|
+
const shaderModule64 = {
|
|
105
84
|
name: 'data-filter-fp64',
|
|
106
|
-
vs
|
|
107
|
-
fs
|
|
108
|
-
inject
|
|
85
|
+
vs,
|
|
86
|
+
fs,
|
|
87
|
+
inject,
|
|
109
88
|
getUniforms: getUniforms64
|
|
110
89
|
};
|
|
111
90
|
exports.shaderModule64 = shaderModule64;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/data-filter/shader-module.js"],"names":["vs","fs","getUniforms","opts","extensions","filterRange","filterEnabled","filterTransformSize","filterTransformColor","filterSoftRange","uniforms","Number","isFinite","filter_min","filter_softMin","filter_softMax","filter_max","map","r","filter_enabled","filter_useSoftMargin","Boolean","filter_transformSize","filter_transformColor","getUniforms64","min64High","Math","fround","filter_min64High","max64High","filter_max64High","x","i","inject","shaderModule","name","shaderModule64"],"mappings":";;;;;;AAGA,
|
|
1
|
+
{"version":3,"sources":["../../../src/data-filter/shader-module.js"],"names":["vs","fs","getUniforms","opts","extensions","filterRange","filterEnabled","filterTransformSize","filterTransformColor","filterSoftRange","uniforms","Number","isFinite","filter_min","filter_softMin","filter_softMax","filter_max","map","r","filter_enabled","filter_useSoftMargin","Boolean","filter_transformSize","filter_transformColor","getUniforms64","min64High","Math","fround","filter_min64High","max64High","filter_max64High","x","i","inject","shaderModule","name","shaderModule64"],"mappings":"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","sourcesContent":["/*\n * data filter shader module\n */\nconst vs = `\nuniform DATAFILTER_TYPE filter_min;\nuniform DATAFILTER_TYPE filter_softMin;\nuniform DATAFILTER_TYPE filter_softMax;\nuniform DATAFILTER_TYPE filter_max;\nuniform bool filter_useSoftMargin;\nuniform bool filter_enabled;\nuniform bool filter_transformSize;\n\n#ifdef NON_INSTANCED_MODEL\n #define DATAFILTER_ATTRIB filterValues\n #define DATAFILTER_ATTRIB_64LOW filterValues64Low\n#else\n #define DATAFILTER_ATTRIB instanceFilterValues\n #define DATAFILTER_ATTRIB_64LOW instanceFilterValues64Low\n#endif\n\nattribute DATAFILTER_TYPE DATAFILTER_ATTRIB;\n#ifdef DATAFILTER_DOUBLE\n attribute DATAFILTER_TYPE DATAFILTER_ATTRIB_64LOW;\n\n uniform DATAFILTER_TYPE filter_min64High;\n uniform DATAFILTER_TYPE filter_max64High;\n#endif\n\nvarying float dataFilter_value;\n\nfloat dataFilter_reduceValue(float value) {\n return value;\n}\nfloat dataFilter_reduceValue(vec2 value) {\n return min(value.x, value.y);\n}\nfloat dataFilter_reduceValue(vec3 value) {\n return min(min(value.x, value.y), value.z);\n}\nfloat dataFilter_reduceValue(vec4 value) {\n return min(min(value.x, value.y), min(value.z, value.w));\n}\nvoid dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFromMax) {\n if (filter_enabled) {\n if (filter_useSoftMargin) {\n dataFilter_value = dataFilter_reduceValue(\n smoothstep(filter_min, filter_softMin, valueFromMin) *\n (1.0 - smoothstep(filter_softMax, filter_max, valueFromMax))\n );\n } else {\n dataFilter_value = dataFilter_reduceValue(\n step(filter_min, valueFromMin) * step(valueFromMax, filter_max)\n );\n }\n } else {\n dataFilter_value = 1.0;\n }\n}\n`;\n\nconst fs = `\nuniform bool filter_transformColor;\nvarying float dataFilter_value;\n`;\n\nconst getUniforms = opts => {\n if (!opts || !opts.extensions) {\n return {};\n }\n const {\n filterRange = [-1, 1],\n filterEnabled = true,\n filterTransformSize = true,\n filterTransformColor = true\n } = opts;\n const filterSoftRange = opts.filterSoftRange || filterRange;\n\n const uniforms = Number.isFinite(filterRange[0])\n ? {\n filter_min: filterRange[0],\n filter_softMin: filterSoftRange[0],\n filter_softMax: filterSoftRange[1],\n filter_max: filterRange[1]\n }\n : {\n filter_min: filterRange.map(r => r[0]),\n filter_softMin: filterSoftRange.map(r => r[0]),\n filter_softMax: filterSoftRange.map(r => r[1]),\n filter_max: filterRange.map(r => r[1])\n };\n uniforms.filter_enabled = filterEnabled;\n uniforms.filter_useSoftMargin = Boolean(opts.filterSoftRange);\n uniforms.filter_transformSize = filterEnabled && filterTransformSize;\n uniforms.filter_transformColor = filterEnabled && filterTransformColor;\n\n return uniforms;\n};\n\nconst getUniforms64 = opts => {\n if (!opts || !opts.extensions) {\n return {};\n }\n const uniforms = getUniforms(opts);\n if (Number.isFinite(uniforms.filter_min)) {\n const min64High = Math.fround(uniforms.filter_min);\n uniforms.filter_min -= min64High;\n uniforms.filter_softMin -= min64High;\n uniforms.filter_min64High = min64High;\n\n const max64High = Math.fround(uniforms.filter_max);\n uniforms.filter_max -= max64High;\n uniforms.filter_softMax -= max64High;\n uniforms.filter_max64High = max64High;\n } else {\n const min64High = uniforms.filter_min.map(Math.fround);\n uniforms.filter_min = uniforms.filter_min.map((x, i) => x - min64High[i]);\n uniforms.filter_softMin = uniforms.filter_softMin.map((x, i) => x - min64High[i]);\n uniforms.filter_min64High = min64High;\n\n const max64High = uniforms.filter_max.map(Math.fround);\n uniforms.filter_max = uniforms.filter_max.map((x, i) => x - max64High[i]);\n uniforms.filter_softMax = uniforms.filter_softMax.map((x, i) => x - max64High[i]);\n uniforms.filter_max64High = max64High;\n }\n return uniforms;\n};\n\nconst inject = {\n 'vs:#main-start': `\n #ifdef DATAFILTER_DOUBLE\n dataFilter_setValue(\n DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,\n DATAFILTER_ATTRIB - filter_max64High + DATAFILTER_ATTRIB_64LOW\n );\n #else\n dataFilter_setValue(DATAFILTER_ATTRIB, DATAFILTER_ATTRIB);\n #endif\n `,\n\n 'vs:DECKGL_FILTER_SIZE': `\n if (filter_transformSize) {\n size = size * dataFilter_value;\n }\n `,\n\n 'fs:DECKGL_FILTER_COLOR': `\n if (dataFilter_value == 0.0) discard;\n if (filter_transformColor) {\n color.a *= dataFilter_value;\n }\n `\n};\n\nexport const shaderModule = {\n name: 'data-filter',\n vs,\n fs,\n inject,\n getUniforms\n};\n\nexport const shaderModule64 = {\n name: 'data-filter-fp64',\n vs,\n fs,\n inject,\n getUniforms: getUniforms64\n};\n"],"file":"shader-module.js"}
|
|
@@ -1,50 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.default = void 0;
|
|
9
7
|
|
|
10
|
-
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
-
|
|
12
|
-
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
-
|
|
14
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
-
|
|
16
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
8
|
var _core = require("@deck.gl/core");
|
|
27
9
|
|
|
28
10
|
var _core2 = require("@luma.gl/core");
|
|
29
11
|
|
|
30
12
|
var _shaders = require("./shaders.glsl");
|
|
31
13
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
35
|
-
|
|
36
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
|
|
37
|
-
|
|
38
|
-
var defaultProps = {
|
|
14
|
+
const defaultProps = {
|
|
39
15
|
fillPatternEnabled: true,
|
|
40
16
|
fillPatternAtlas: null,
|
|
41
17
|
fillPatternMapping: null,
|
|
42
18
|
fillPatternMask: true,
|
|
43
19
|
getFillPattern: {
|
|
44
20
|
type: 'accessor',
|
|
45
|
-
value:
|
|
46
|
-
return d.pattern;
|
|
47
|
-
}
|
|
21
|
+
value: d => d.pattern
|
|
48
22
|
},
|
|
49
23
|
getFillPatternScale: {
|
|
50
24
|
type: 'accessor',
|
|
@@ -55,254 +29,194 @@ var defaultProps = {
|
|
|
55
29
|
value: [0, 0]
|
|
56
30
|
}
|
|
57
31
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
function FillStyleExtension() {
|
|
66
|
-
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
67
|
-
_ref$pattern = _ref.pattern,
|
|
68
|
-
pattern = _ref$pattern === void 0 ? false : _ref$pattern;
|
|
32
|
+
const DEFAULT_TEXTURE_PARAMETERS = {
|
|
33
|
+
[10241]: 9729,
|
|
34
|
+
[10240]: 9729,
|
|
35
|
+
[10242]: 33071,
|
|
36
|
+
[10243]: 33071
|
|
37
|
+
};
|
|
69
38
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
39
|
+
class FillStyleExtension extends _core.LayerExtension {
|
|
40
|
+
constructor({
|
|
41
|
+
pattern = false
|
|
42
|
+
} = {}) {
|
|
43
|
+
super({
|
|
44
|
+
pattern
|
|
73
45
|
});
|
|
74
46
|
}
|
|
75
47
|
|
|
76
|
-
(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
return layer.getAttributeManager() && !layer.state.pathTesselator;
|
|
80
|
-
}
|
|
81
|
-
}, {
|
|
82
|
-
key: "getShaders",
|
|
83
|
-
value: function getShaders(extension) {
|
|
84
|
-
if (!extension.isEnabled(this)) {
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
48
|
+
isEnabled(layer) {
|
|
49
|
+
return layer.getAttributeManager() && !layer.state.pathTesselator;
|
|
50
|
+
}
|
|
87
51
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
52
|
+
getShaders(extension) {
|
|
53
|
+
if (!extension.isEnabled(this)) {
|
|
54
|
+
return null;
|
|
91
55
|
}
|
|
92
|
-
}, {
|
|
93
|
-
key: "initializeState",
|
|
94
|
-
value: function initializeState(context, extension) {
|
|
95
|
-
if (!extension.isEnabled(this)) {
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
56
|
|
|
99
|
-
|
|
57
|
+
return {
|
|
58
|
+
modules: [extension.opts.pattern && _shaders.patternShaders].filter(Boolean)
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
initializeState(context, extension) {
|
|
63
|
+
if (!extension.isEnabled(this)) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
100
66
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
67
|
+
const attributeManager = this.getAttributeManager();
|
|
68
|
+
|
|
69
|
+
if (extension.opts.pattern) {
|
|
70
|
+
attributeManager.add({
|
|
71
|
+
fillPatternFrames: {
|
|
72
|
+
size: 4,
|
|
73
|
+
accessor: 'getFillPattern',
|
|
74
|
+
transform: extension.getPatternFrame.bind(this),
|
|
75
|
+
shaderAttributes: {
|
|
76
|
+
fillPatternFrames: {
|
|
77
|
+
divisor: 0
|
|
78
|
+
},
|
|
79
|
+
instanceFillPatternFrames: {
|
|
80
|
+
divisor: 1
|
|
114
81
|
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
fillPatternScales: {
|
|
85
|
+
size: 1,
|
|
86
|
+
accessor: 'getFillPatternScale',
|
|
87
|
+
defaultValue: 1,
|
|
88
|
+
shaderAttributes: {
|
|
89
|
+
fillPatternScales: {
|
|
90
|
+
divisor: 0
|
|
91
|
+
},
|
|
92
|
+
instanceFillPatternScales: {
|
|
93
|
+
divisor: 1
|
|
127
94
|
}
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
fillPatternOffsets: {
|
|
98
|
+
size: 2,
|
|
99
|
+
accessor: 'getFillPatternOffset',
|
|
100
|
+
shaderAttributes: {
|
|
101
|
+
fillPatternOffsets: {
|
|
102
|
+
divisor: 0
|
|
103
|
+
},
|
|
104
|
+
instanceFillPatternOffsets: {
|
|
105
|
+
divisor: 1
|
|
139
106
|
}
|
|
140
107
|
}
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
this.setState({
|
|
145
|
-
emptyTexture: new _core2.Texture2D(this.context.gl, {
|
|
146
|
-
data: new Uint8Array(4),
|
|
147
|
-
width: 1,
|
|
148
|
-
height: 1
|
|
149
|
-
})
|
|
108
|
+
}
|
|
150
109
|
});
|
|
151
110
|
}
|
|
152
|
-
}, {
|
|
153
|
-
key: "updateState",
|
|
154
|
-
value: function updateState(_ref2, extension) {
|
|
155
|
-
var props = _ref2.props,
|
|
156
|
-
oldProps = _ref2.oldProps;
|
|
157
111
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
112
|
+
this.setState({
|
|
113
|
+
emptyTexture: new _core2.Texture2D(this.context.gl, {
|
|
114
|
+
data: new Uint8Array(4),
|
|
115
|
+
width: 1,
|
|
116
|
+
height: 1
|
|
117
|
+
})
|
|
118
|
+
});
|
|
119
|
+
}
|
|
165
120
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
121
|
+
updateState({
|
|
122
|
+
props,
|
|
123
|
+
oldProps
|
|
124
|
+
}, extension) {
|
|
125
|
+
if (!extension.isEnabled(this)) {
|
|
126
|
+
return;
|
|
169
127
|
}
|
|
170
|
-
}, {
|
|
171
|
-
key: "draw",
|
|
172
|
-
value: function draw(params, extension) {
|
|
173
|
-
if (!extension.isEnabled(this)) {
|
|
174
|
-
return;
|
|
175
|
-
}
|
|
176
128
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
fillPatternTexture: patternTexture || this.state.emptyTexture
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
}, {
|
|
183
|
-
key: "finalizeState",
|
|
184
|
-
value: function finalizeState() {
|
|
185
|
-
var _this$state = this.state,
|
|
186
|
-
patternTexture = _this$state.patternTexture,
|
|
187
|
-
emptyTexture = _this$state.emptyTexture;
|
|
188
|
-
patternTexture === null || patternTexture === void 0 ? void 0 : patternTexture.delete();
|
|
189
|
-
emptyTexture === null || emptyTexture === void 0 ? void 0 : emptyTexture.delete();
|
|
129
|
+
if (props.fillPatternAtlas && props.fillPatternAtlas !== oldProps.fillPatternAtlas) {
|
|
130
|
+
extension.loadPatternAtlas.call(this, props);
|
|
190
131
|
}
|
|
191
|
-
}, {
|
|
192
|
-
key: "loadPatternAtlas",
|
|
193
|
-
value: function () {
|
|
194
|
-
var _loadPatternAtlas = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(_ref3) {
|
|
195
|
-
var _this$state$patternTe;
|
|
196
|
-
|
|
197
|
-
var fillPatternAtlas, fetch, image, patternTexture;
|
|
198
|
-
return _regenerator.default.wrap(function _callee$(_context) {
|
|
199
|
-
while (1) {
|
|
200
|
-
switch (_context.prev = _context.next) {
|
|
201
|
-
case 0:
|
|
202
|
-
fillPatternAtlas = _ref3.fillPatternAtlas, fetch = _ref3.fetch;
|
|
203
|
-
(_this$state$patternTe = this.state.patternTexture) === null || _this$state$patternTe === void 0 ? void 0 : _this$state$patternTe.delete();
|
|
204
|
-
this.setState({
|
|
205
|
-
patternTexture: null
|
|
206
|
-
});
|
|
207
|
-
image = fillPatternAtlas;
|
|
208
|
-
|
|
209
|
-
if (!(typeof image === 'string')) {
|
|
210
|
-
_context.next = 8;
|
|
211
|
-
break;
|
|
212
|
-
}
|
|
213
132
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
});
|
|
133
|
+
if (props.fillPatternMapping && props.fillPatternMapping !== oldProps.fillPatternMapping) {
|
|
134
|
+
extension.loadPatternMapping.call(this, props);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
219
137
|
|
|
220
|
-
|
|
221
|
-
|
|
138
|
+
draw(params, extension) {
|
|
139
|
+
if (!extension.isEnabled(this)) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
222
142
|
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
});
|
|
143
|
+
const {
|
|
144
|
+
patternTexture
|
|
145
|
+
} = this.state;
|
|
146
|
+
this.setModuleParameters({
|
|
147
|
+
fillPatternTexture: patternTexture || this.state.emptyTexture
|
|
148
|
+
});
|
|
149
|
+
}
|
|
231
150
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
151
|
+
finalizeState() {
|
|
152
|
+
const {
|
|
153
|
+
patternTexture,
|
|
154
|
+
emptyTexture
|
|
155
|
+
} = this.state;
|
|
156
|
+
patternTexture === null || patternTexture === void 0 ? void 0 : patternTexture.delete();
|
|
157
|
+
emptyTexture === null || emptyTexture === void 0 ? void 0 : emptyTexture.delete();
|
|
158
|
+
}
|
|
239
159
|
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
160
|
+
async loadPatternAtlas({
|
|
161
|
+
fillPatternAtlas,
|
|
162
|
+
fetch
|
|
163
|
+
}) {
|
|
164
|
+
var _this$state$patternTe;
|
|
243
165
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
var _loadPatternMapping = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(_ref4) {
|
|
250
|
-
var fillPatternMapping, fetch, patternMapping;
|
|
251
|
-
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
252
|
-
while (1) {
|
|
253
|
-
switch (_context2.prev = _context2.next) {
|
|
254
|
-
case 0:
|
|
255
|
-
fillPatternMapping = _ref4.fillPatternMapping, fetch = _ref4.fetch;
|
|
256
|
-
this.setState({
|
|
257
|
-
patternMapping: null
|
|
258
|
-
});
|
|
259
|
-
patternMapping = fillPatternMapping;
|
|
166
|
+
(_this$state$patternTe = this.state.patternTexture) === null || _this$state$patternTe === void 0 ? void 0 : _this$state$patternTe.delete();
|
|
167
|
+
this.setState({
|
|
168
|
+
patternTexture: null
|
|
169
|
+
});
|
|
170
|
+
let image = fillPatternAtlas;
|
|
260
171
|
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
172
|
+
if (typeof image === 'string') {
|
|
173
|
+
image = await fetch(image, {
|
|
174
|
+
propName: 'fillPatternAtlas',
|
|
175
|
+
layer: this
|
|
176
|
+
});
|
|
177
|
+
}
|
|
265
178
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
179
|
+
const patternTexture = image instanceof _core2.Texture2D ? image : new _core2.Texture2D(this.context.gl, {
|
|
180
|
+
data: image,
|
|
181
|
+
parameters: DEFAULT_TEXTURE_PARAMETERS
|
|
182
|
+
});
|
|
183
|
+
this.setState({
|
|
184
|
+
patternTexture
|
|
185
|
+
});
|
|
186
|
+
}
|
|
271
187
|
|
|
272
|
-
|
|
273
|
-
|
|
188
|
+
async loadPatternMapping({
|
|
189
|
+
fillPatternMapping,
|
|
190
|
+
fetch
|
|
191
|
+
}) {
|
|
192
|
+
this.setState({
|
|
193
|
+
patternMapping: null
|
|
194
|
+
});
|
|
195
|
+
let patternMapping = fillPatternMapping;
|
|
274
196
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
197
|
+
if (typeof patternMapping === 'string') {
|
|
198
|
+
patternMapping = await fetch(patternMapping, {
|
|
199
|
+
propName: 'fillPatternMapping',
|
|
200
|
+
layer: this
|
|
201
|
+
});
|
|
202
|
+
}
|
|
281
203
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
}));
|
|
204
|
+
this.setState({
|
|
205
|
+
patternMapping
|
|
206
|
+
});
|
|
207
|
+
this.getAttributeManager().invalidate('getFillPattern');
|
|
208
|
+
this.setNeedsUpdate();
|
|
209
|
+
}
|
|
289
210
|
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
211
|
+
getPatternFrame(name) {
|
|
212
|
+
const {
|
|
213
|
+
patternMapping
|
|
214
|
+
} = this.state;
|
|
215
|
+
const def = patternMapping && patternMapping[name];
|
|
216
|
+
return def ? [def.x, def.y, def.width, def.height] : [0, 0, 0, 0];
|
|
217
|
+
}
|
|
293
218
|
|
|
294
|
-
|
|
295
|
-
}()
|
|
296
|
-
}, {
|
|
297
|
-
key: "getPatternFrame",
|
|
298
|
-
value: function getPatternFrame(name) {
|
|
299
|
-
var patternMapping = this.state.patternMapping;
|
|
300
|
-
var def = patternMapping && patternMapping[name];
|
|
301
|
-
return def ? [def.x, def.y, def.width, def.height] : [0, 0, 0, 0];
|
|
302
|
-
}
|
|
303
|
-
}]);
|
|
304
|
-
return FillStyleExtension;
|
|
305
|
-
}(_core.LayerExtension);
|
|
219
|
+
}
|
|
306
220
|
|
|
307
221
|
exports.default = FillStyleExtension;
|
|
308
222
|
FillStyleExtension.extensionName = 'FillStyleExtension';
|