@deck.gl/extensions 8.10.0-alpha.1 → 8.10.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 +7 -4
- package/dist/es5/path-style/shaders.glsl.js +2 -2
- package/dist/es5/path-style/shaders.glsl.js.map +1 -1
- package/dist/es5/terrain/terrain-pass.js +1 -0
- package/dist/es5/terrain/terrain-pass.js.map +1 -1
- package/dist/esm/path-style/shaders.glsl.js +2 -2
- package/dist/esm/path-style/shaders.glsl.js.map +1 -1
- package/dist/esm/terrain/terrain-pass.js +1 -0
- package/dist/esm/terrain/terrain-pass.js.map +1 -1
- package/dist.min.js +41 -38
- package/package.json +3 -2
- package/src/path-style/shaders.glsl.ts +6 -4
- package/src/terrain/terrain-pass.ts +1 -0
- package/typed/path-style/shaders.glsl.d.ts +1 -1
- package/typed/path-style/shaders.glsl.d.ts.map +1 -1
- package/typed/terrain/terrain-pass.d.ts.map +1 -1
package/dist/dist.dev.js
CHANGED
|
@@ -1640,7 +1640,7 @@ float round(float x) {
|
|
|
1640
1640
|
offset = solidLength / 2.0;
|
|
1641
1641
|
}
|
|
1642
1642
|
|
|
1643
|
-
float unitOffset = mod(
|
|
1643
|
+
float unitOffset = mod(vPathPosition.y + offset, unitLength);
|
|
1644
1644
|
|
|
1645
1645
|
if (gapLength > 0.0 && unitOffset > solidLength) {
|
|
1646
1646
|
if (capType <= 0.5) {
|
|
@@ -1673,10 +1673,12 @@ attribute float instanceOffsets;
|
|
|
1673
1673
|
float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
|
|
1674
1674
|
size *= offsetWidth;
|
|
1675
1675
|
`,
|
|
1676
|
-
"
|
|
1676
|
+
"vs:#main-end": `
|
|
1677
1677
|
float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
|
|
1678
|
-
|
|
1679
|
-
|
|
1678
|
+
float offsetDir = sign(instanceOffsets);
|
|
1679
|
+
vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;
|
|
1680
|
+
vPathPosition.y *= offsetWidth;
|
|
1681
|
+
vPathLength *= offsetWidth;
|
|
1680
1682
|
`,
|
|
1681
1683
|
"fs:#main-start": `
|
|
1682
1684
|
float isInside;
|
|
@@ -3419,6 +3421,7 @@ if ((terrain_mode == TERRAIN_MODE_USE_COVER) || (terrain_mode == TERRAIN_MODE_US
|
|
|
3419
3421
|
const layers = terrainCover.filterLayers(opts.layers);
|
|
3420
3422
|
target.resize(viewport);
|
|
3421
3423
|
(0, import_core31.withParameters)(this.gl, {
|
|
3424
|
+
clearColor: [0, 0, 0, 0],
|
|
3422
3425
|
depthTest: false
|
|
3423
3426
|
}, () => this.render({
|
|
3424
3427
|
...opts,
|
|
@@ -9,7 +9,7 @@ var dashShaders = {
|
|
|
9
9
|
'vs:#decl': "\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n",
|
|
10
10
|
'vs:#main-end': "\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n",
|
|
11
11
|
'fs:#decl': "\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n",
|
|
12
|
-
'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(
|
|
12
|
+
'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"
|
|
13
13
|
}
|
|
14
14
|
};
|
|
15
15
|
exports.dashShaders = dashShaders;
|
|
@@ -17,7 +17,7 @@ var offsetShaders = {
|
|
|
17
17
|
inject: {
|
|
18
18
|
'vs:#decl': "\nattribute float instanceOffsets;\n",
|
|
19
19
|
'vs:DECKGL_FILTER_SIZE': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n",
|
|
20
|
-
'
|
|
20
|
+
'vs:#main-end': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n",
|
|
21
21
|
'fs:#main-start': "\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n"
|
|
22
22
|
}
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;;AA0EA,IAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,
|
|
1
|
+
{"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;;AA0EA,IAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,6QARM;AAeN;AAfM;AADmB,CAAtB","sourcesContent":["export const dashShaders = {\n inject: {\n 'vs:#decl': `\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n`,\n\n 'vs:#main-end': `\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n`,\n\n 'fs:#decl': `\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n`,\n\n // if given position is in the gap part of the dashed line\n // dashArray.x: solid stroke length, relative to width\n // dashArray.y: gap length, relative to width\n // alignMode:\n // 0 - no adjustment\n // o---- ---- ---- ---- o---- -o---- ---- o\n // 1 - stretch to fit, draw half dash at each end for nicer joints\n // o-- ---- ---- ---- --o-- --o-- ---- --o\n 'fs:#main-start': `\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n // caps are rounded, test the distance to solid ends\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`\n }\n};\n\nexport const offsetShaders = {\n inject: {\n 'vs:#decl': `\nattribute float instanceOffsets;\n`,\n 'vs:DECKGL_FILTER_SIZE': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\n 'vs:#main-end': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\n 'fs:#main-start': `\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`\n }\n};\n"],"file":"shaders.glsl.js"}
|
|
@@ -103,6 +103,7 @@ var TerrainPass = function (_LayersPass) {
|
|
|
103
103
|
var layers = terrainCover.filterLayers(opts.layers);
|
|
104
104
|
target.resize(viewport);
|
|
105
105
|
(0, _core.withParameters)(this.gl, {
|
|
106
|
+
clearColor: [0, 0, 0, 0],
|
|
106
107
|
depthTest: false
|
|
107
108
|
}, function () {
|
|
108
109
|
return _this2.render(_objectSpread(_objectSpread({}, opts), {}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/terrain/terrain-pass.ts"],"names":["TerrainPass","viewport","opts","layers","result","drawParamsByIndex","_getDrawLayerParams","i","length","layer","isComposite","shouldDrawLayer","push","heightMap","target","getRenderFramebuffer","renderViewport","resize","gl","clearColor","blend","blendFunc","blendEquation","depthTest","render","pass","viewports","effects","terrainCover","filterLayers","id","LayersPass"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;IASaA,W;;;;;;;;;;;;WACX,6BAAoBC,QAApB,EAAwCC,IAAxC,EAAiF;AAC/E,UAAOC,MAAP,GAAiBD,IAAjB,CAAOC,MAAP;AACA,UAAMC,MAAe,GAAG,EAAxB;;AACA,UAAMC,iBAAiB,GAAG,KAAKC,mBAAL,CAAyBL,QAAzB,EAAmCC,IAAnC,EAAyC,IAAzC,CAA1B;;AACA,WAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,MAAM,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,YAAME,KAAK,GAAGN,MAAM,CAACI,CAAD,CAApB;;AACA,YAAI,CAACE,KAAK,CAACC,WAAP,IAAsBL,iBAAiB,CAACE,CAAD,CAAjB,CAAqBI,eAA/C,EAAgE;AAC9DP,UAAAA,MAAM,CAACQ,IAAP,CAAYH,KAAZ;AACD;AACF;;AAED,aAAOL,MAAP;AACD;;;WAED,yBAAgBS,SAAhB,EAA6CX,IAA7C,EAAsF;AAAA;;AAEpF,UAAMY,MAAM,GAAGD,SAAS,CAACE,oBAAV,EAAf;AACA,UAAMd,QAAQ,GAAGY,SAAS,CAACG,cAA3B;;AAEA,UAAI,CAACF,MAAD,IAAW,CAACb,QAAhB,EAA0B;AACxB;AACD;;AAEDa,MAAAA,MAAM,CAACG,MAAP,CAAchB,QAAd;AAEA,gCACE,KAAKiB,EADP,EAEE;AACEC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEC,QAAAA,KAAK,EAAE,IAFT;AAGEC,QAAAA,SAAS,EAAE,MAHb;AAIEC,QAAAA,aAAa,OAJf;AAKEC,QAAAA,SAAS,EAAE;AALb,OAFF,EASE;AAAA,eACE,KAAI,CAACC,MAAL,iCACKtB,IADL;AAEEY,UAAAA,MAAM,EAANA,MAFF;AAGEW,UAAAA,IAAI,EAAE,oBAHR;AAIEtB,UAAAA,MAAM,EAAED,IAAI,CAACC,MAJf;AAKEuB,UAAAA,SAAS,EAAE,CAACzB,QAAD,CALb;AAME0B,UAAAA,OAAO,EAAE;AANX,WADF;AAAA,OATF;AAmBD;;;WAED,4BAAmBC,YAAnB,EAA+C1B,IAA/C,EAAwF;AAAA;;AAEtF,UAAMY,MAAM,GAAGc,YAAY,CAACb,oBAAb,EAAf;AACA,UAAMd,QAAQ,GAAG2B,YAAY,CAACZ,cAA9B;;AAEA,UAAI,CAACF,MAAD,IAAW,CAACb,QAAhB,EAA0B;AACxB;AACD;;AAED,UAAME,MAAM,GAAGyB,YAAY,CAACC,YAAb,CAA0B3B,IAAI,CAACC,MAA/B,CAAf;AACAW,MAAAA,MAAM,CAACG,MAAP,CAAchB,QAAd;AAEA,gCACE,KAAKiB,EADP,EAEE;
|
|
1
|
+
{"version":3,"sources":["../../../src/terrain/terrain-pass.ts"],"names":["TerrainPass","viewport","opts","layers","result","drawParamsByIndex","_getDrawLayerParams","i","length","layer","isComposite","shouldDrawLayer","push","heightMap","target","getRenderFramebuffer","renderViewport","resize","gl","clearColor","blend","blendFunc","blendEquation","depthTest","render","pass","viewports","effects","terrainCover","filterLayers","id","LayersPass"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;;;;IASaA,W;;;;;;;;;;;;WACX,6BAAoBC,QAApB,EAAwCC,IAAxC,EAAiF;AAC/E,UAAOC,MAAP,GAAiBD,IAAjB,CAAOC,MAAP;AACA,UAAMC,MAAe,GAAG,EAAxB;;AACA,UAAMC,iBAAiB,GAAG,KAAKC,mBAAL,CAAyBL,QAAzB,EAAmCC,IAAnC,EAAyC,IAAzC,CAA1B;;AACA,WAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,MAAM,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,YAAME,KAAK,GAAGN,MAAM,CAACI,CAAD,CAApB;;AACA,YAAI,CAACE,KAAK,CAACC,WAAP,IAAsBL,iBAAiB,CAACE,CAAD,CAAjB,CAAqBI,eAA/C,EAAgE;AAC9DP,UAAAA,MAAM,CAACQ,IAAP,CAAYH,KAAZ;AACD;AACF;;AAED,aAAOL,MAAP;AACD;;;WAED,yBAAgBS,SAAhB,EAA6CX,IAA7C,EAAsF;AAAA;;AAEpF,UAAMY,MAAM,GAAGD,SAAS,CAACE,oBAAV,EAAf;AACA,UAAMd,QAAQ,GAAGY,SAAS,CAACG,cAA3B;;AAEA,UAAI,CAACF,MAAD,IAAW,CAACb,QAAhB,EAA0B;AACxB;AACD;;AAEDa,MAAAA,MAAM,CAACG,MAAP,CAAchB,QAAd;AAEA,gCACE,KAAKiB,EADP,EAEE;AACEC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEC,QAAAA,KAAK,EAAE,IAFT;AAGEC,QAAAA,SAAS,EAAE,MAHb;AAIEC,QAAAA,aAAa,OAJf;AAKEC,QAAAA,SAAS,EAAE;AALb,OAFF,EASE;AAAA,eACE,KAAI,CAACC,MAAL,iCACKtB,IADL;AAEEY,UAAAA,MAAM,EAANA,MAFF;AAGEW,UAAAA,IAAI,EAAE,oBAHR;AAIEtB,UAAAA,MAAM,EAAED,IAAI,CAACC,MAJf;AAKEuB,UAAAA,SAAS,EAAE,CAACzB,QAAD,CALb;AAME0B,UAAAA,OAAO,EAAE;AANX,WADF;AAAA,OATF;AAmBD;;;WAED,4BAAmBC,YAAnB,EAA+C1B,IAA/C,EAAwF;AAAA;;AAEtF,UAAMY,MAAM,GAAGc,YAAY,CAACb,oBAAb,EAAf;AACA,UAAMd,QAAQ,GAAG2B,YAAY,CAACZ,cAA9B;;AAEA,UAAI,CAACF,MAAD,IAAW,CAACb,QAAhB,EAA0B;AACxB;AACD;;AAED,UAAME,MAAM,GAAGyB,YAAY,CAACC,YAAb,CAA0B3B,IAAI,CAACC,MAA/B,CAAf;AACAW,MAAAA,MAAM,CAACG,MAAP,CAAchB,QAAd;AAEA,gCACE,KAAKiB,EADP,EAEE;AACEC,QAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEI,QAAAA,SAAS,EAAE;AAFb,OAFF,EAME;AAAA,eACE,MAAI,CAACC,MAAL,iCACKtB,IADL;AAEEY,UAAAA,MAAM,EAANA,MAFF;AAGEW,UAAAA,IAAI,0BAAmBG,YAAY,CAACE,EAAhC,CAHN;AAIE3B,UAAAA,MAAM,EAANA,MAJF;AAKEwB,UAAAA,OAAO,EAAE,EALX;AAMED,UAAAA,SAAS,EAAE,CAACzB,QAAD;AANb,WADF;AAAA,OANF;AAgBD;;;EA3E8B8B,kB","sourcesContent":["import {withParameters} from '@luma.gl/core';\nimport {Layer, Viewport, _LayersPass as LayersPass, LayersPassRenderOptions} from '@deck.gl/core';\nimport type {HeightMapBuilder} from './height-map-builder';\nimport type {TerrainCover} from './terrain-cover';\n\nimport GL from '@luma.gl/constants';\n\nexport type TerrainPassRenderOptions = LayersPassRenderOptions;\n\n/** Renders textures used by the TerrainEffect render pass */\nexport class TerrainPass extends LayersPass {\n getRenderableLayers(viewport: Viewport, opts: TerrainPassRenderOptions): Layer[] {\n const {layers} = opts;\n const result: Layer[] = [];\n const drawParamsByIndex = this._getDrawLayerParams(viewport, opts, true);\n for (let i = 0; i < layers.length; i++) {\n const layer = layers[i];\n if (!layer.isComposite && drawParamsByIndex[i].shouldDrawLayer) {\n result.push(layer);\n }\n }\n\n return result;\n }\n\n renderHeightMap(heightMap: HeightMapBuilder, opts: Partial<TerrainPassRenderOptions>) {\n // console.log('Updating height map')\n const target = heightMap.getRenderFramebuffer();\n const viewport = heightMap.renderViewport;\n\n if (!target || !viewport) {\n return;\n }\n\n target.resize(viewport);\n\n withParameters(\n this.gl,\n {\n clearColor: [0, 0, 0, 0],\n blend: true,\n blendFunc: [GL.ONE, GL.ONE],\n blendEquation: GL.MAX,\n depthTest: false\n },\n () =>\n this.render({\n ...opts,\n target,\n pass: 'terrain-height-map',\n layers: opts.layers!,\n viewports: [viewport],\n effects: []\n })\n );\n }\n\n renderTerrainCover(terrainCover: TerrainCover, opts: Partial<TerrainPassRenderOptions>) {\n // console.log('Updating terrain cover ' + terrainCover.id)\n const target = terrainCover.getRenderFramebuffer();\n const viewport = terrainCover.renderViewport;\n\n if (!target || !viewport) {\n return;\n }\n\n const layers = terrainCover.filterLayers(opts.layers!);\n target.resize(viewport);\n\n withParameters(\n this.gl,\n {\n clearColor: [0, 0, 0, 0],\n depthTest: false\n },\n () =>\n this.render({\n ...opts,\n target,\n pass: `terrain-cover-${terrainCover.id}`,\n layers,\n effects: [],\n viewports: [viewport]\n })\n );\n }\n}\n"],"file":"terrain-pass.js"}
|
|
@@ -3,14 +3,14 @@ export const dashShaders = {
|
|
|
3
3
|
'vs:#decl': "\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n",
|
|
4
4
|
'vs:#main-end': "\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n",
|
|
5
5
|
'fs:#decl': "\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n",
|
|
6
|
-
'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(
|
|
6
|
+
'fs:#main-start': "\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n"
|
|
7
7
|
}
|
|
8
8
|
};
|
|
9
9
|
export const offsetShaders = {
|
|
10
10
|
inject: {
|
|
11
11
|
'vs:#decl': "\nattribute float instanceOffsets;\n",
|
|
12
12
|
'vs:DECKGL_FILTER_SIZE': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n",
|
|
13
|
-
'
|
|
13
|
+
'vs:#main-end': "\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n",
|
|
14
14
|
'fs:#main-start': "\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n"
|
|
15
15
|
}
|
|
16
16
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;AA0EP,OAAO,MAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,
|
|
1
|
+
{"version":3,"sources":["../../../src/path-style/shaders.glsl.ts"],"names":["dashShaders","inject","offsetShaders"],"mappings":"AAAA,OAAO,MAAMA,WAAW,GAAG;AACzBC,EAAAA,MAAM,EAAE;AACN,oJADM;AAQN,wGARM;AAaN,sNAbM;AAiCN;AAjCM;AADiB,CAApB;AA0EP,OAAO,MAAMC,aAAa,GAAG;AAC3BD,EAAAA,MAAM,EAAE;AACN,sDADM;AAIN,kHAJM;AAQN,6QARM;AAeN;AAfM;AADmB,CAAtB","sourcesContent":["export const dashShaders = {\n inject: {\n 'vs:#decl': `\nattribute vec2 instanceDashArrays;\nattribute float instanceDashOffsets;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n`,\n\n 'vs:#main-end': `\nvDashArray = instanceDashArrays;\nvDashOffset = instanceDashOffsets / width.x;\n`,\n\n 'fs:#decl': `\nuniform float dashAlignMode;\nuniform float capType;\nuniform bool dashGapPickable;\nvarying vec2 vDashArray;\nvarying float vDashOffset;\n\nfloat round(float x) {\n return floor(x + 0.5);\n}\n`,\n\n // if given position is in the gap part of the dashed line\n // dashArray.x: solid stroke length, relative to width\n // dashArray.y: gap length, relative to width\n // alignMode:\n // 0 - no adjustment\n // o---- ---- ---- ---- o---- -o---- ---- o\n // 1 - stretch to fit, draw half dash at each end for nicer joints\n // o-- ---- ---- ---- --o-- --o-- ---- --o\n 'fs:#main-start': `\n float solidLength = vDashArray.x;\n float gapLength = vDashArray.y;\n float unitLength = solidLength + gapLength;\n\n float offset;\n\n if (unitLength > 0.0) {\n if (dashAlignMode == 0.0) {\n offset = vDashOffset;\n } else {\n unitLength = vPathLength / round(vPathLength / unitLength);\n offset = solidLength / 2.0;\n }\n\n float unitOffset = mod(vPathPosition.y + offset, unitLength);\n\n if (gapLength > 0.0 && unitOffset > solidLength) {\n if (capType <= 0.5) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n } else {\n // caps are rounded, test the distance to solid ends\n float distToEnd = length(vec2(\n min(unitOffset - solidLength, unitLength - unitOffset),\n vPathPosition.x\n ));\n if (distToEnd > 1.0) {\n if (!(dashGapPickable && picking_uActive)) {\n discard;\n }\n }\n }\n }\n }\n`\n }\n};\n\nexport const offsetShaders = {\n inject: {\n 'vs:#decl': `\nattribute float instanceOffsets;\n`,\n 'vs:DECKGL_FILTER_SIZE': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n size *= offsetWidth;\n`,\n 'vs:#main-end': `\n float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;\n float offsetDir = sign(instanceOffsets);\n vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;\n vPathPosition.y *= offsetWidth;\n vPathLength *= offsetWidth;\n`,\n 'fs:#main-start': `\n float isInside;\n isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);\n if (isInside == 0.0) {\n discard;\n }\n`\n }\n};\n"],"file":"shaders.glsl.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/terrain/terrain-pass.ts"],"names":["withParameters","_LayersPass","LayersPass","TerrainPass","getRenderableLayers","viewport","opts","layers","result","drawParamsByIndex","_getDrawLayerParams","i","length","layer","isComposite","shouldDrawLayer","push","renderHeightMap","heightMap","target","getRenderFramebuffer","renderViewport","resize","gl","clearColor","blend","blendFunc","blendEquation","depthTest","render","pass","viewports","effects","renderTerrainCover","terrainCover","filterLayers","id"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,eAA7B;AACA,SAAyBC,WAAW,IAAIC,UAAxC,QAAkF,eAAlF;AASA,OAAO,MAAMC,WAAN,SAA0BD,UAA1B,CAAqC;AAC1CE,EAAAA,mBAAmB,CAACC,QAAD,EAAqBC,IAArB,EAA8D;AAC/E,UAAM;AAACC,MAAAA;AAAD,QAAWD,IAAjB;AACA,UAAME,MAAe,GAAG,EAAxB;;AACA,UAAMC,iBAAiB,GAAG,KAAKC,mBAAL,CAAyBL,QAAzB,EAAmCC,IAAnC,EAAyC,IAAzC,CAA1B;;AACA,SAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,MAAM,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,YAAME,KAAK,GAAGN,MAAM,CAACI,CAAD,CAApB;;AACA,UAAI,CAACE,KAAK,CAACC,WAAP,IAAsBL,iBAAiB,CAACE,CAAD,CAAjB,CAAqBI,eAA/C,EAAgE;AAC9DP,QAAAA,MAAM,CAACQ,IAAP,CAAYH,KAAZ;AACD;AACF;;AAED,WAAOL,MAAP;AACD;;AAEDS,EAAAA,eAAe,CAACC,SAAD,EAA8BZ,IAA9B,EAAuE;AAEpF,UAAMa,MAAM,GAAGD,SAAS,CAACE,oBAAV,EAAf;AACA,UAAMf,QAAQ,GAAGa,SAAS,CAACG,cAA3B;;AAEA,QAAI,CAACF,MAAD,IAAW,CAACd,QAAhB,EAA0B;AACxB;AACD;;AAEDc,IAAAA,MAAM,CAACG,MAAP,CAAcjB,QAAd;AAEAL,IAAAA,cAAc,CACZ,KAAKuB,EADO,EAEZ;AACEC,MAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEC,MAAAA,KAAK,EAAE,IAFT;AAGEC,MAAAA,SAAS,EAAE,MAHb;AAIEC,MAAAA,aAAa,OAJf;AAKEC,MAAAA,SAAS,EAAE;AALb,KAFY,EASZ,MACE,KAAKC,MAAL,CAAY,EACV,GAAGvB,IADO;AAEVa,MAAAA,MAFU;AAGVW,MAAAA,IAAI,EAAE,oBAHI;AAIVvB,MAAAA,MAAM,EAAED,IAAI,CAACC,MAJH;AAKVwB,MAAAA,SAAS,EAAE,CAAC1B,QAAD,CALD;AAMV2B,MAAAA,OAAO,EAAE;AANC,KAAZ,CAVU,CAAd;AAmBD;;AAEDC,EAAAA,kBAAkB,CAACC,YAAD,EAA6B5B,IAA7B,EAAsE;AAEtF,UAAMa,MAAM,GAAGe,YAAY,CAACd,oBAAb,EAAf;AACA,UAAMf,QAAQ,GAAG6B,YAAY,CAACb,cAA9B;;AAEA,QAAI,CAACF,MAAD,IAAW,CAACd,QAAhB,EAA0B;AACxB;AACD;;AAED,UAAME,MAAM,GAAG2B,YAAY,CAACC,YAAb,CAA0B7B,IAAI,CAACC,MAA/B,CAAf;AACAY,IAAAA,MAAM,CAACG,MAAP,CAAcjB,QAAd;AAEAL,IAAAA,cAAc,CACZ,KAAKuB,EADO,EAEZ;
|
|
1
|
+
{"version":3,"sources":["../../../src/terrain/terrain-pass.ts"],"names":["withParameters","_LayersPass","LayersPass","TerrainPass","getRenderableLayers","viewport","opts","layers","result","drawParamsByIndex","_getDrawLayerParams","i","length","layer","isComposite","shouldDrawLayer","push","renderHeightMap","heightMap","target","getRenderFramebuffer","renderViewport","resize","gl","clearColor","blend","blendFunc","blendEquation","depthTest","render","pass","viewports","effects","renderTerrainCover","terrainCover","filterLayers","id"],"mappings":"AAAA,SAAQA,cAAR,QAA6B,eAA7B;AACA,SAAyBC,WAAW,IAAIC,UAAxC,QAAkF,eAAlF;AASA,OAAO,MAAMC,WAAN,SAA0BD,UAA1B,CAAqC;AAC1CE,EAAAA,mBAAmB,CAACC,QAAD,EAAqBC,IAArB,EAA8D;AAC/E,UAAM;AAACC,MAAAA;AAAD,QAAWD,IAAjB;AACA,UAAME,MAAe,GAAG,EAAxB;;AACA,UAAMC,iBAAiB,GAAG,KAAKC,mBAAL,CAAyBL,QAAzB,EAAmCC,IAAnC,EAAyC,IAAzC,CAA1B;;AACA,SAAK,IAAIK,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGJ,MAAM,CAACK,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;AACtC,YAAME,KAAK,GAAGN,MAAM,CAACI,CAAD,CAApB;;AACA,UAAI,CAACE,KAAK,CAACC,WAAP,IAAsBL,iBAAiB,CAACE,CAAD,CAAjB,CAAqBI,eAA/C,EAAgE;AAC9DP,QAAAA,MAAM,CAACQ,IAAP,CAAYH,KAAZ;AACD;AACF;;AAED,WAAOL,MAAP;AACD;;AAEDS,EAAAA,eAAe,CAACC,SAAD,EAA8BZ,IAA9B,EAAuE;AAEpF,UAAMa,MAAM,GAAGD,SAAS,CAACE,oBAAV,EAAf;AACA,UAAMf,QAAQ,GAAGa,SAAS,CAACG,cAA3B;;AAEA,QAAI,CAACF,MAAD,IAAW,CAACd,QAAhB,EAA0B;AACxB;AACD;;AAEDc,IAAAA,MAAM,CAACG,MAAP,CAAcjB,QAAd;AAEAL,IAAAA,cAAc,CACZ,KAAKuB,EADO,EAEZ;AACEC,MAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEC,MAAAA,KAAK,EAAE,IAFT;AAGEC,MAAAA,SAAS,EAAE,MAHb;AAIEC,MAAAA,aAAa,OAJf;AAKEC,MAAAA,SAAS,EAAE;AALb,KAFY,EASZ,MACE,KAAKC,MAAL,CAAY,EACV,GAAGvB,IADO;AAEVa,MAAAA,MAFU;AAGVW,MAAAA,IAAI,EAAE,oBAHI;AAIVvB,MAAAA,MAAM,EAAED,IAAI,CAACC,MAJH;AAKVwB,MAAAA,SAAS,EAAE,CAAC1B,QAAD,CALD;AAMV2B,MAAAA,OAAO,EAAE;AANC,KAAZ,CAVU,CAAd;AAmBD;;AAEDC,EAAAA,kBAAkB,CAACC,YAAD,EAA6B5B,IAA7B,EAAsE;AAEtF,UAAMa,MAAM,GAAGe,YAAY,CAACd,oBAAb,EAAf;AACA,UAAMf,QAAQ,GAAG6B,YAAY,CAACb,cAA9B;;AAEA,QAAI,CAACF,MAAD,IAAW,CAACd,QAAhB,EAA0B;AACxB;AACD;;AAED,UAAME,MAAM,GAAG2B,YAAY,CAACC,YAAb,CAA0B7B,IAAI,CAACC,MAA/B,CAAf;AACAY,IAAAA,MAAM,CAACG,MAAP,CAAcjB,QAAd;AAEAL,IAAAA,cAAc,CACZ,KAAKuB,EADO,EAEZ;AACEC,MAAAA,UAAU,EAAE,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CADd;AAEEI,MAAAA,SAAS,EAAE;AAFb,KAFY,EAMZ,MACE,KAAKC,MAAL,CAAY,EACV,GAAGvB,IADO;AAEVa,MAAAA,MAFU;AAGVW,MAAAA,IAAI,0BAAmBI,YAAY,CAACE,EAAhC,CAHM;AAIV7B,MAAAA,MAJU;AAKVyB,MAAAA,OAAO,EAAE,EALC;AAMVD,MAAAA,SAAS,EAAE,CAAC1B,QAAD;AAND,KAAZ,CAPU,CAAd;AAgBD;;AA3EyC","sourcesContent":["import {withParameters} from '@luma.gl/core';\nimport {Layer, Viewport, _LayersPass as LayersPass, LayersPassRenderOptions} from '@deck.gl/core';\nimport type {HeightMapBuilder} from './height-map-builder';\nimport type {TerrainCover} from './terrain-cover';\n\nimport GL from '@luma.gl/constants';\n\nexport type TerrainPassRenderOptions = LayersPassRenderOptions;\n\n/** Renders textures used by the TerrainEffect render pass */\nexport class TerrainPass extends LayersPass {\n getRenderableLayers(viewport: Viewport, opts: TerrainPassRenderOptions): Layer[] {\n const {layers} = opts;\n const result: Layer[] = [];\n const drawParamsByIndex = this._getDrawLayerParams(viewport, opts, true);\n for (let i = 0; i < layers.length; i++) {\n const layer = layers[i];\n if (!layer.isComposite && drawParamsByIndex[i].shouldDrawLayer) {\n result.push(layer);\n }\n }\n\n return result;\n }\n\n renderHeightMap(heightMap: HeightMapBuilder, opts: Partial<TerrainPassRenderOptions>) {\n // console.log('Updating height map')\n const target = heightMap.getRenderFramebuffer();\n const viewport = heightMap.renderViewport;\n\n if (!target || !viewport) {\n return;\n }\n\n target.resize(viewport);\n\n withParameters(\n this.gl,\n {\n clearColor: [0, 0, 0, 0],\n blend: true,\n blendFunc: [GL.ONE, GL.ONE],\n blendEquation: GL.MAX,\n depthTest: false\n },\n () =>\n this.render({\n ...opts,\n target,\n pass: 'terrain-height-map',\n layers: opts.layers!,\n viewports: [viewport],\n effects: []\n })\n );\n }\n\n renderTerrainCover(terrainCover: TerrainCover, opts: Partial<TerrainPassRenderOptions>) {\n // console.log('Updating terrain cover ' + terrainCover.id)\n const target = terrainCover.getRenderFramebuffer();\n const viewport = terrainCover.renderViewport;\n\n if (!target || !viewport) {\n return;\n }\n\n const layers = terrainCover.filterLayers(opts.layers!);\n target.resize(viewport);\n\n withParameters(\n this.gl,\n {\n clearColor: [0, 0, 0, 0],\n depthTest: false\n },\n () =>\n this.render({\n ...opts,\n target,\n pass: `terrain-cover-${terrainCover.id}`,\n layers,\n effects: [],\n viewports: [viewport]\n })\n );\n }\n}\n"],"file":"terrain-pass.js"}
|
package/dist.min.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
5
|
else if (typeof exports === 'object') exports['deck'] = factory();
|
|
6
6
|
else root['deck'] = factory();})(globalThis, function () {
|
|
7
|
-
"use strict";var __exports__=(()=>{var
|
|
7
|
+
"use strict";var __exports__=(()=>{var vr=Object.create;var re=Object.defineProperty;var _r=Object.getOwnPropertyDescriptor;var dr=Object.getOwnPropertyNames;var mr=Object.getPrototypeOf,hr=Object.prototype.hasOwnProperty;var je=(t,r)=>()=>(r||t((r={exports:{}}).exports,r),r.exports),yr=(t,r)=>{for(var e in r)re(t,e,{get:r[e],enumerable:!0})},te=(t,r,e,n)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of dr(r))!hr.call(t,i)&&i!==e&&re(t,i,{get:()=>r[i],enumerable:!(n=_r(r,i))||n.enumerable});return t},k=(t,r,e)=>(te(t,r,"default"),e&&te(e,r,"default")),h=(t,r,e)=>(e=t!=null?vr(mr(t)):{},te(r||!t||!t.__esModule?re(e,"default",{value:t,enumerable:!0}):e,t)),gr=t=>te(re({},"__esModule",{value:!0}),t);var E=je((Zn,Ve)=>{Ve.exports=globalThis.deck});var A=je((xi,et)=>{et.exports=globalThis.luma});var Q={};yr(Q,{BrushingExtension:()=>ne,ClipExtension:()=>ve,CollisionFilterExtension:()=>me,DataFilterExtension:()=>ae,FillStyleExtension:()=>pe,Fp64Extension:()=>ke,MaskExtension:()=>he,PathStyleExtension:()=>ce,_TerrainExtension:()=>be,project64:()=>ue});var M={},ze=h(E());k(M,h(E()));if(!ze.Layer)throw new Error("@deck.gl/core is not found");k(Q,M);function y(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function Ue(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function g(t,r,e){return r&&Ue(t.prototype,r),e&&Ue(t,e),t}function W(t,r){return W=Object.setPrototypeOf||function(n,i){return n.__proto__=i,n},W(t,r)}function x(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),r&&W(t,r)}function N(t){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?N=function(e){return typeof e}:N=function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},N(t)}function C(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function b(t,r){if(r&&(N(r)==="object"||typeof r=="function"))return r;if(r!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C(t)}function d(t){return d=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},d(t)}function u(t,r,e){return r in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}var We=h(E());var qe=h(E()),Pr=`
|
|
8
8
|
uniform bool brushing_enabled;
|
|
9
9
|
uniform int brushing_target;
|
|
10
10
|
uniform vec2 brushing_mousePos;
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
void brushing_setVisible(bool visible) {
|
|
37
37
|
brushing_isVisible = float(visible);
|
|
38
38
|
}
|
|
39
|
-
`,
|
|
39
|
+
`,xr=`
|
|
40
40
|
uniform bool brushing_enabled;
|
|
41
41
|
varying float brushing_isVisible;
|
|
42
|
-
`,
|
|
42
|
+
`,br={source:0,target:1,custom:2,source_target:3},Or={"vs:DECKGL_FILTER_GL_POSITION":`
|
|
43
43
|
vec2 brushingTarget;
|
|
44
44
|
vec2 brushingSource;
|
|
45
45
|
if (brushing_target == 3) {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
if (brushing_enabled && brushing_isVisible < 0.5) {
|
|
68
68
|
discard;
|
|
69
69
|
}
|
|
70
|
-
`},
|
|
70
|
+
`},Ge={name:"brushing",dependencies:[qe.project],vs:Pr,fs:xr,inject:Or,getUniforms:function(r){if(!r||!("viewport"in r))return{};var e=r.brushingEnabled,n=e===void 0?!0:e,i=r.brushingRadius,o=i===void 0?1e4:i,a=r.brushingTarget,f=a===void 0?"source":a,s=r.mousePosition,l=r.viewport;return{brushing_enabled:Boolean(n&&s&&l.containsPixel(s)),brushing_radius:o,brushing_target:br[f]||0,brushing_mousePos:s?l.unproject([s.x-l.x,s.y-l.y]):[0,0]}}};function Er(t){var r=Tr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Tr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var wr={getBrushingTarget:{type:"accessor",value:[0,0]},brushingTarget:"source",brushingEnabled:!0,brushingRadius:1e4},ne=function(t){x(e,t);var r=Er(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){return{modules:[Ge]}}},{key:"initializeState",value:function(i,o){var a=this,f=this.getAttributeManager();f&&f.add({brushingTargets:{size:2,accessor:"getBrushingTarget",shaderAttributes:{brushingTargets:{divisor:0},instanceBrushingTargets:{divisor:1}}}}),this.state.onMouseMove=function(){var s;(s=a.getCurrentLayer())===null||s===void 0||s.setNeedsRedraw()},i.deck&&i.deck.eventManager.on({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}},{key:"finalizeState",value:function(i,o){i.deck&&i.deck.eventManager.off({pointermove:this.state.onMouseMove,pointerleave:this.state.onMouseMove})}}]),e}(We.LayerExtension);u(ne,"defaultProps",wr);u(ne,"extensionName","BrushingExtension");var ft=h(E());function He(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Ke(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?He(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):He(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}var Ye=`
|
|
71
71
|
uniform DATAFILTER_TYPE filter_min;
|
|
72
72
|
uniform DATAFILTER_TYPE filter_softMin;
|
|
73
73
|
uniform DATAFILTER_TYPE filter_softMax;
|
|
@@ -122,10 +122,10 @@ void dataFilter_setValue(DATAFILTER_TYPE valueFromMin, DATAFILTER_TYPE valueFrom
|
|
|
122
122
|
dataFilter_value = 1.0;
|
|
123
123
|
}
|
|
124
124
|
}
|
|
125
|
-
|
|
125
|
+
`,$e=`
|
|
126
126
|
uniform bool filter_transformColor;
|
|
127
127
|
varying float dataFilter_value;
|
|
128
|
-
`;function
|
|
128
|
+
`;function Ze(t){if(!t||!("extensions"in t))return{};var r=t.filterRange,e=r===void 0?[-1,1]:r,n=t.filterEnabled,i=n===void 0?!0:n,o=t.filterTransformSize,a=o===void 0?!0:o,f=t.filterTransformColor,s=f===void 0?!0:f,l=t.filterSoftRange||e;return Ke(Ke({},Number.isFinite(e[0])?{filter_min:e[0],filter_softMin:l[0],filter_softMax:l[1],filter_max:e[1]}:{filter_min:e.map(function(c){return c[0]}),filter_softMin:l.map(function(c){return c[0]}),filter_softMax:l.map(function(c){return c[1]}),filter_max:e.map(function(c){return c[1]})}),{},{filter_enabled:i,filter_useSoftMargin:Boolean(t.filterSoftRange),filter_transformSize:i&&a,filter_transformColor:i&&s})}function Ar(t){if(!t||!("extensions"in t))return{};var r=Ze(t);if(Number.isFinite(r.filter_min)){var e=Math.fround(r.filter_min);r.filter_min-=e,r.filter_softMin-=e,r.filter_min64High=e;var n=Math.fround(r.filter_max);r.filter_max-=n,r.filter_softMax-=n,r.filter_max64High=n}else{var i=r.filter_min.map(Math.fround);r.filter_min=r.filter_min.map(function(a,f){return a-i[f]}),r.filter_softMin=r.filter_softMin.map(function(a,f){return a-i[f]}),r.filter_min64High=i;var o=r.filter_max.map(Math.fround);r.filter_max=r.filter_max.map(function(a,f){return a-o[f]}),r.filter_softMax=r.filter_softMax.map(function(a,f){return a-o[f]}),r.filter_max64High=o}return r}var Xe={"vs:#main-start":`
|
|
129
129
|
#ifdef DATAFILTER_DOUBLE
|
|
130
130
|
dataFilter_setValue(
|
|
131
131
|
DATAFILTER_ATTRIB - filter_min64High + DATAFILTER_ATTRIB_64LOW,
|
|
@@ -147,7 +147,7 @@ varying float dataFilter_value;
|
|
|
147
147
|
if (filter_transformColor) {
|
|
148
148
|
color.a *= dataFilter_value;
|
|
149
149
|
}
|
|
150
|
-
`},
|
|
150
|
+
`},Je={name:"data-filter",vs:Ye,fs:$e,inject:Xe,getUniforms:Ze},Qe={name:"data-filter-fp64",vs:Ye,fs:$e,inject:Xe,getUniforms:Ar};var S=h(A());function tt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Mr(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?tt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):tt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}var Rr=`#define SHADER_NAME data-filter-vertex-shader
|
|
151
151
|
|
|
152
152
|
#ifdef FLOAT_TARGET
|
|
153
153
|
attribute float filterIndices;
|
|
@@ -177,7 +177,7 @@ void main() {
|
|
|
177
177
|
#endif
|
|
178
178
|
gl_PointSize = 1.0;
|
|
179
179
|
}
|
|
180
|
-
`,
|
|
180
|
+
`,Sr=`#define SHADER_NAME data-filter-fragment-shader
|
|
181
181
|
precision highp float;
|
|
182
182
|
|
|
183
183
|
varying vec4 vColor;
|
|
@@ -188,7 +188,8 @@ void main() {
|
|
|
188
188
|
}
|
|
189
189
|
gl_FragColor = vColor;
|
|
190
190
|
}
|
|
191
|
-
`;function
|
|
191
|
+
`;function rt(t){return Boolean(t.getExtension("EXT_float_blend")&&(t.getExtension("EXT_color_buffer_float")||t.getExtension("WEBGL_color_buffer_float")))}function nt(t,r){return r?new S.Framebuffer(t,{width:1,height:1,attachments:u({},36064,new S.Texture2D(t,{format:(0,S.isWebGL2)(t)?34836:6408,type:5126,mipmaps:!1}))}):new S.Framebuffer(t,{width:256,height:64,depth:!1})}function it(t,r,e){return r.defines.NON_INSTANCED_MODEL=1,e&&(r.defines.FLOAT_TARGET=1),new S.Model(t,Mr({id:"data-filter-aggregation-model",vertexCount:1,isInstanced:!1,drawMode:0,vs:Rr,fs:Sr},r))}var ot={blend:!0,blendFunc:[1,1,1,1],blendEquation:[32774,32774],depthTest:!1};var oe=h(A());function at(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function ie(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?at(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):at(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function kr(t){var r=Cr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Cr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ir={getFilterValue:{type:"accessor",value:0},onFilteredItemsChange:{type:"function",value:null,optional:!0},filterEnabled:!0,filterRange:[-1,1],filterSoftRange:null,filterTransformSize:!0,filterTransformColor:!0},st={1:"float",2:"vec2",3:"vec3",4:"vec4"},ae=function(t){x(e,t);var r=kr(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.filterSize,o=i===void 0?1:i,a=n.fp64,f=a===void 0?!1:a,s=n.countItems,l=s===void 0?!1:s;if(y(this,e),!st[o])throw new Error("filterSize out of range");return r.call(this,{filterSize:o,fp64:f,countItems:l})}return g(e,[{key:"getShaders",value:function(i){var o=i.opts,a=o.filterSize,f=o.fp64;return{modules:[f?Qe:Je],defines:{DATAFILTER_TYPE:st[a],DATAFILTER_DOUBLE:Boolean(f)}}}},{key:"initializeState",value:function(i,o){var a=this.getAttributeManager();a&&a.add({filterValues:{size:o.opts.filterSize,type:o.opts.fp64?5130:5126,accessor:"getFilterValue",shaderAttributes:{filterValues:{divisor:0},instanceFilterValues:{divisor:1}}}});var f=this.context.gl;if(a&&o.opts.countItems){var s=rt(f);a.add({filterIndices:{size:s?1:2,vertexOffset:1,type:5121,normalized:!0,accessor:function(v,_){var P=_.index,m=v&&v.__source?v.__source.index:P;return s?(m+1)%255:[(m+1)%255,Math.floor(m/255)%255]},shaderAttributes:{filterPrevIndices:{vertexOffset:0},filterIndices:{vertexOffset:1}}}});var l=nt(f,s),c=it(f,o.getShaders.call(this,o),s);this.setState({filterFBO:l,filterModel:c})}}},{key:"updateState",value:function(i){var o=i.props,a=i.oldProps;if(this.state.filterModel){var f=this.getAttributeManager(),s=f.attributes.filterValues.needsUpdate()||o.filterEnabled!==a.filterEnabled||o.filterRange!==a.filterRange||o.filterSoftRange!==a.filterSoftRange;s&&this.setState({filterNeedsUpdate:s})}}},{key:"draw",value:function(i,o){var a=this.state,f=a.filterFBO,s=a.filterModel,l=a.filterNeedsUpdate,c=this.props.onFilteredItemsChange;if(l&&c&&s){var p=this.getAttributeManager(),v=p.attributes,_=v.filterValues,P=v.filterIndices;s.setVertexCount(this.getNumInstances());var m=this.context.gl;(0,oe.clear)(m,{framebuffer:f,color:[0,0,0,0]}),s.updateModuleSettings(i.moduleParameters).setAttributes(ie(ie({},_.getShaderAttributes()),P&&P.getShaderAttributes())).draw({framebuffer:f,parameters:ie(ie({},ot),{},{viewport:[0,0,f.width,f.height]})});for(var O=(0,oe.readPixelsToArray)(f),T=0,w=0;w<O.length;w++)T+=O[w];c({id:this.id,count:T}),this.state.filterNeedsUpdate=!1}}},{key:"finalizeState",value:function(){var i=this.state,o=i.filterFBO,a=i.filterModel;o&&(o.color.delete(),o.delete(),a.delete())}}]),e}(ft.LayerExtension);u(ae,"defaultProps",Ir);u(ae,"extensionName","DataFilterExtension");var $=h(E());function Ee(t){if(Array.isArray(t))return t}function Te(t,r){var e=t==null?null:typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(e!=null){var n=[],i=!0,o=!1,a,f;try{for(e=e.call(t);!(i=(a=e.next()).done)&&(n.push(a.value),!(r&&n.length===r));i=!0);}catch(s){o=!0,f=s}finally{try{!i&&e.return!=null&&e.return()}finally{if(o)throw f}}return n}}function se(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function we(t,r){if(t){if(typeof t=="string")return se(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return se(t,r)}}function Ae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
192
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function H(t,r){return Ee(t)||Te(t,r)||we(t,r)||Ae()}function fe(t){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,n=Math.fround(t),i=t-n;return r[e]=n,r[e+1]=i,r}function Me(t){return t-Math.fround(t)}function Re(t){for(var r=new Float32Array(32),e=0;e<4;++e)for(var n=0;n<4;++n){var i=e*4+n;fe(t[n*4+e],r,i*2)}return r}var lt=`uniform float ONE;
|
|
192
193
|
vec2 split(float a) {
|
|
193
194
|
const float SPLIT = 4097.0;
|
|
194
195
|
float t = a * SPLIT;
|
|
@@ -329,7 +330,7 @@ vec2 sqrt_fp64(vec2 a) {
|
|
|
329
330
|
return sum_fp64(vec2(yn, 0.0), prod);
|
|
330
331
|
#endif
|
|
331
332
|
}
|
|
332
|
-
`;var
|
|
333
|
+
`;var ut=`const vec2 E_FP64 = vec2(2.7182817459106445e+00, 8.254840366817007e-08);
|
|
333
334
|
const vec2 LOG2_FP64 = vec2(0.6931471824645996e+00, -1.9046542121259336e-09);
|
|
334
335
|
const vec2 PI_FP64 = vec2(3.1415927410125732, -8.742278012618954e-8);
|
|
335
336
|
const vec2 TWO_PI_FP64 = vec2(6.2831854820251465, -1.7484556025237907e-7);
|
|
@@ -957,7 +958,7 @@ void mat4_vec4_mul_fp64(vec2 b[16], vec2 a[4], out vec2 out_val[4]) {
|
|
|
957
958
|
vec4_dot_fp64(a, tmp, out_val[i]);
|
|
958
959
|
}
|
|
959
960
|
}
|
|
960
|
-
`;var
|
|
961
|
+
`;var Lr={ONE:1};function Nr(){return Lr}var ct={name:"fp64-arithmetic",vs:lt,fs:null,getUniforms:Nr,fp64ify:fe,fp64LowPart:Me,fp64ifyMatrix4:Re},K={name:"fp64",vs:ut,fs:null,dependencies:[ct],fp64ify:fe,fp64LowPart:Me,fp64ifyMatrix4:Re};var Zi=1/Math.PI*180,Xi=1/180*Math.PI,Y={EPSILON:1e-12,debug:!1,precision:4,printTypes:!1,printDegrees:!1,printRowMajor:!0};function Se(t){return Array.isArray(t)||ArrayBuffer.isView(t)&&!(t instanceof DataView)}function B(t,r,e){var n=Y.EPSILON;e&&(Y.EPSILON=e);try{if(t===r)return!0;if(Se(t)&&Se(r)){if(t.length!==r.length)return!1;for(var i=0;i<t.length;++i)if(!B(t[i],r[i]))return!1;return!0}return t&&t.equals?t.equals(r):r&&r.equals?r.equals(t):typeof t=="number"&&typeof r=="number"?Math.abs(t-r)<=Y.EPSILON*Math.max(1,Math.abs(t),Math.abs(r)):!1}finally{Y.EPSILON=n}}var Fe=typeof Float32Array<"u"?Float32Array:Array;var Qi=Math.PI/180;Math.hypot||(Math.hypot=function(){for(var t=0,r=arguments.length;r--;)t+=arguments[r]*arguments[r];return Math.sqrt(t)});function Dr(){var t=new Fe(3);return Fe!=Float32Array&&(t[0]=0,t[1]=0,t[2]=0),t}function jr(t,r){var e=r[0]-t[0],n=r[1]-t[1],i=r[2]-t[2];return Math.hypot(e,n,i)}var pt=jr;var ro=function(){var t=Dr();return function(r,e,n,i,o,a){var f,s;for(e||(e=3),n||(n=0),i?s=Math.min(i*e+n,r.length):s=r.length,f=n;f<s;f+=e)t[0]=r[f],t[1]=r[f+1],t[2]=r[f+2],o(t,t,a),r[f]=t[0],r[f+1]=t[1],r[f+2]=t[2];return r}}();var le=h(E());var vt=`
|
|
961
962
|
const vec2 WORLD_SCALE_FP64 = vec2(81.4873275756836, 0.0000032873668232014097);
|
|
962
963
|
|
|
963
964
|
uniform vec2 project_uViewProjectionMatrixFP64[16];
|
|
@@ -1031,7 +1032,7 @@ vec4 project_position_to_clipspace(
|
|
|
1031
1032
|
position, position64xyLow, offset, commonPosition
|
|
1032
1033
|
);
|
|
1033
1034
|
}
|
|
1034
|
-
`;var
|
|
1035
|
+
`;var Vr=K.fp64ify,zr=K.fp64ifyMatrix4,ue={name:"project64",dependencies:[le.project,K],vs:vt,getUniforms:qr},Ur=(0,le._memoize)(Gr);function qr(t){if(t&&"viewport"in t){var r=t.viewport,e=r.viewProjectionMatrix,n=r.scale;return Ur({viewProjectionMatrix:e,scale:n})}return{}}function Gr(t){var r=t.viewProjectionMatrix,e=t.scale,n=zr(r),i=Vr(e);return{project_uViewProjectionMatrixFP64:n,project64_uViewProjectionMatrix:n,project64_uScale:i}}function Wr(t){var r=Hr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Hr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ke=function(t){x(e,t);var r=Wr(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){var i=this.props.coordinateSystem;if(i!==$.COORDINATE_SYSTEM.LNGLAT&&i!==$.COORDINATE_SYSTEM.DEFAULT)throw new Error("fp64: coordinateSystem must be LNGLAT");return{modules:[ue]}}}]),e}($.LayerExtension);u(ke,"extensionName","Fp64Extension");var Z=h(E());var _t={inject:{"vs:#decl":`
|
|
1035
1036
|
attribute vec2 instanceDashArrays;
|
|
1036
1037
|
attribute float instanceDashOffsets;
|
|
1037
1038
|
varying vec2 vDashArray;
|
|
@@ -1064,7 +1065,7 @@ float round(float x) {
|
|
|
1064
1065
|
offset = solidLength / 2.0;
|
|
1065
1066
|
}
|
|
1066
1067
|
|
|
1067
|
-
float unitOffset = mod(
|
|
1068
|
+
float unitOffset = mod(vPathPosition.y + offset, unitLength);
|
|
1068
1069
|
|
|
1069
1070
|
if (gapLength > 0.0 && unitOffset > solidLength) {
|
|
1070
1071
|
if (capType <= 0.5) {
|
|
@@ -1084,22 +1085,24 @@ float round(float x) {
|
|
|
1084
1085
|
}
|
|
1085
1086
|
}
|
|
1086
1087
|
}
|
|
1087
|
-
`}},
|
|
1088
|
+
`}},dt={inject:{"vs:#decl":`
|
|
1088
1089
|
attribute float instanceOffsets;
|
|
1089
1090
|
`,"vs:DECKGL_FILTER_SIZE":`
|
|
1090
1091
|
float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
|
|
1091
1092
|
size *= offsetWidth;
|
|
1092
|
-
`,"
|
|
1093
|
+
`,"vs:#main-end":`
|
|
1093
1094
|
float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
|
|
1094
|
-
|
|
1095
|
-
|
|
1095
|
+
float offsetDir = sign(instanceOffsets);
|
|
1096
|
+
vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;
|
|
1097
|
+
vPathPosition.y *= offsetWidth;
|
|
1098
|
+
vPathLength *= offsetWidth;
|
|
1096
1099
|
`,"fs:#main-start":`
|
|
1097
1100
|
float isInside;
|
|
1098
1101
|
isInside = step(-1.0, vPathPosition.x) * step(vPathPosition.x, 1.0);
|
|
1099
1102
|
if (isInside == 0.0) {
|
|
1100
1103
|
discard;
|
|
1101
1104
|
}
|
|
1102
|
-
`}};function
|
|
1105
|
+
`}};function Kr(t){var r=Yr();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Yr(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var $r={getDashArray:{type:"accessor",value:[0,0]},getOffset:{type:"accessor",value:0},dashJustified:!1,dashGapPickable:!1},ce=function(t){x(e,t);var r=Kr(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.dash,o=i===void 0?!1:i,a=n.offset,f=a===void 0?!1:a,s=n.highPrecisionDash,l=s===void 0?!1:s;return y(this,e),r.call(this,{dash:o||l,offset:f,highPrecisionDash:l})}return g(e,[{key:"isEnabled",value:function(i){return"pathTesselator"in i.state}},{key:"getShaders",value:function(i){if(!i.isEnabled(this))return null;var o={};return i.opts.dash&&(o=(0,Z._mergeShaders)(o,_t)),i.opts.offset&&(o=(0,Z._mergeShaders)(o,dt)),o}},{key:"initializeState",value:function(i,o){var a=this.getAttributeManager();!a||!o.isEnabled(this)||(o.opts.dash&&a.addInstanced({instanceDashArrays:{size:2,accessor:"getDashArray"}}),o.opts.highPrecisionDash&&a.addInstanced({instanceDashOffsets:{size:1,accessor:"getPath",transform:o.getDashOffsets.bind(this)}}),o.opts.offset&&a.addInstanced({instanceOffsets:{size:1,accessor:"getOffset"}}))}},{key:"updateState",value:function(i,o){if(o.isEnabled(this)){var a={};o.opts.dash&&(a.dashAlignMode=this.props.dashJustified?1:0,a.dashGapPickable=Boolean(this.props.dashGapPickable)),this.state.model.setUniforms(a)}}},{key:"getDashOffsets",value:function(i){for(var o=[0],a=this.props.positionFormat==="XY"?2:3,f=Array.isArray(i[0]),s=f?i.length:i.length/a,l,c,p=0;p<s-1;p++)l=f?i[p]:i.slice(p*a,p*a+a),l=this.projectPosition(l),p>0&&(o[p]=o[p-1]+pt(c,l)),c=l;return o}}]),e}(Z.LayerExtension);u(ce,"defaultProps",$r);u(ce,"extensionName","PathStyleExtension");var ht=h(E()),yt=h(A());var X=h(E()),Zr=`
|
|
1103
1106
|
#ifdef NON_INSTANCED_MODEL
|
|
1104
1107
|
#define FILL_PATTERN_FRAME_ATTRIB fillPatternFrames
|
|
1105
1108
|
#define FILL_PATTERN_SCALE_ATTRIB fillPatternScales
|
|
@@ -1120,7 +1123,7 @@ uniform vec2 fill_patternTextureSize;
|
|
|
1120
1123
|
varying vec2 fill_uv;
|
|
1121
1124
|
varying vec4 fill_patternBounds;
|
|
1122
1125
|
varying vec4 fill_patternPlacement;
|
|
1123
|
-
`,
|
|
1126
|
+
`,Xr=`
|
|
1124
1127
|
uniform bool fill_patternEnabled;
|
|
1125
1128
|
uniform bool fill_patternMask;
|
|
1126
1129
|
uniform sampler2D fill_patternTexture;
|
|
@@ -1132,7 +1135,7 @@ varying vec4 fill_patternPlacement;
|
|
|
1132
1135
|
varying vec2 fill_uv;
|
|
1133
1136
|
|
|
1134
1137
|
const float FILL_UV_SCALE = 512.0 / 40000000.0;
|
|
1135
|
-
`,
|
|
1138
|
+
`,Jr={"vs:DECKGL_FILTER_GL_POSITION":`
|
|
1136
1139
|
fill_uv = geometry.position.xy;
|
|
1137
1140
|
`,"vs:DECKGL_FILTER_COLOR":`
|
|
1138
1141
|
if (fill_patternEnabled) {
|
|
@@ -1154,13 +1157,13 @@ const float FILL_UV_SCALE = 512.0 / 40000000.0;
|
|
|
1154
1157
|
color.rgb = patternColor.rgb;
|
|
1155
1158
|
}
|
|
1156
1159
|
}
|
|
1157
|
-
`};function
|
|
1160
|
+
`};function Qr(t,r){if(!t)return{};if("fillPatternTexture"in t){var e=t.fillPatternTexture;return{fill_patternTexture:e,fill_patternTextureSize:[e.width,e.height]}}if("viewport"in t){var n=t.fillPatternMask,i=n===void 0?!0:n,o=t.fillPatternEnabled,a=o===void 0?!0:o,f=r,s=f.project_uCommonOrigin,l=[(0,X.fp64LowPart)(s[0]),(0,X.fp64LowPart)(s[1])];return{fill_uvCoordinateOrigin:s.slice(0,2),fill_uvCoordinateOrigin64Low:l,fill_patternMask:i,fill_patternEnabled:a}}return{}}var mt={name:"fill-pattern",vs:Zr,fs:Xr,inject:Jr,dependencies:[X.project],getUniforms:Qr};function en(t){var r=tn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function tn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var rn={fillPatternEnabled:!0,fillPatternAtlas:{type:"image",value:null,async:!0,parameters:u({},10241,9729)},fillPatternMapping:{type:"object",value:{},async:!0},fillPatternMask:!0,getFillPattern:{type:"accessor",value:function(r){return r.pattern}},getFillPatternScale:{type:"accessor",value:1},getFillPatternOffset:{type:"accessor",value:[0,0]}},pe=function(t){x(e,t);var r=en(e);function e(){var n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},i=n.pattern,o=i===void 0?!1:i;return y(this,e),r.call(this,{pattern:o})}return g(e,[{key:"isEnabled",value:function(i){return i.getAttributeManager()!==null&&!("pathTesselator"in i.state)}},{key:"getShaders",value:function(i){return i.isEnabled(this)?{modules:[i.opts.pattern&&mt].filter(Boolean)}:null}},{key:"initializeState",value:function(i,o){if(o.isEnabled(this)){var a=this.getAttributeManager();o.opts.pattern&&a.add({fillPatternFrames:{size:4,accessor:"getFillPattern",transform:o.getPatternFrame.bind(this),shaderAttributes:{fillPatternFrames:{divisor:0},instanceFillPatternFrames:{divisor:1}}},fillPatternScales:{size:1,accessor:"getFillPatternScale",defaultValue:1,shaderAttributes:{fillPatternScales:{divisor:0},instanceFillPatternScales:{divisor:1}}},fillPatternOffsets:{size:2,accessor:"getFillPatternOffset",shaderAttributes:{fillPatternOffsets:{divisor:0},instanceFillPatternOffsets:{divisor:1}}}}),this.setState({emptyTexture:new yt.Texture2D(this.context.gl,{data:new Uint8Array(4),width:1,height:1})})}}},{key:"updateState",value:function(i,o){var a=i.props,f=i.oldProps;o.isEnabled(this)&&a.fillPatternMapping&&a.fillPatternMapping!==f.fillPatternMapping&&this.getAttributeManager().invalidate("getFillPattern")}},{key:"draw",value:function(i,o){if(o.isEnabled(this)){var a=this.props.fillPatternAtlas;this.setModuleParameters({fillPatternTexture:a||this.state.emptyTexture})}}},{key:"finalizeState",value:function(){var i=this.state.emptyTexture;i?.delete()}},{key:"getPatternFrame",value:function(i){var o=this.getCurrentLayer().props.fillPatternMapping,a=o&&o[i];return a?[a.x,a.y,a.width,a.height]:[0,0,0,0]}}]),e}(ht.LayerExtension);u(pe,"defaultProps",rn);u(pe,"extensionName","FillStyleExtension");var gt=h(E());function nn(t){var r=on();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function on(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var an={clipBounds:[0,0,1,1],clipByInstance:void 0},Pt=`
|
|
1158
1161
|
uniform vec4 clip_bounds;
|
|
1159
1162
|
|
|
1160
1163
|
bool clip_isInBounds(vec2 position) {
|
|
1161
1164
|
return position.x >= clip_bounds[0] && position.y >= clip_bounds[1] && position.x < clip_bounds[2] && position.y < clip_bounds[3];
|
|
1162
1165
|
}
|
|
1163
|
-
`,
|
|
1166
|
+
`,sn={name:"clip-vs",vs:Pt},fn={"vs:#decl":`
|
|
1164
1167
|
varying float clip_isVisible;
|
|
1165
1168
|
`,"vs:DECKGL_FILTER_GL_POSITION":`
|
|
1166
1169
|
clip_isVisible = float(clip_isInBounds(geometry.worldPosition.xy));
|
|
@@ -1168,7 +1171,7 @@ varying float clip_isVisible;
|
|
|
1168
1171
|
varying float clip_isVisible;
|
|
1169
1172
|
`,"fs:DECKGL_FILTER_COLOR":`
|
|
1170
1173
|
if (clip_isVisible < 0.5) discard;
|
|
1171
|
-
`},
|
|
1174
|
+
`},ln={name:"clip-fs",fs:Pt},un={"vs:#decl":`
|
|
1172
1175
|
varying vec2 clip_commonPosition;
|
|
1173
1176
|
`,"vs:DECKGL_FILTER_GL_POSITION":`
|
|
1174
1177
|
clip_commonPosition = geometry.position.xy;
|
|
@@ -1176,7 +1179,7 @@ varying vec2 clip_commonPosition;
|
|
|
1176
1179
|
varying vec2 clip_commonPosition;
|
|
1177
1180
|
`,"fs:DECKGL_FILTER_COLOR":`
|
|
1178
1181
|
if (!clip_isInBounds(clip_commonPosition)) discard;
|
|
1179
|
-
`},
|
|
1182
|
+
`},ve=function(t){x(e,t);var r=nn(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){var i="instancePositions"in this.getAttributeManager().attributes;return this.props.clipByInstance!==void 0&&(i=Boolean(this.props.clipByInstance)),this.state.clipByInstance=i,i?{modules:[sn],inject:fn}:{modules:[ln],inject:un}}},{key:"draw",value:function(i){var o=i.uniforms,a=this.props.clipBounds;if(this.state.clipByInstance)o.clip_bounds=a;else{var f=this.projectPosition([a[0],a[1],0]),s=this.projectPosition([a[2],a[3],0]);o.clip_bounds=[Math.min(f[0],s[0]),Math.min(f[1],s[1]),Math.max(f[0],s[0]),Math.max(f[1],s[1])]}}}]),e}(gt.LayerExtension);u(ve,"defaultProps",an);u(ve,"extensionName","ClipExtension");var Dt=h(E());var xt=h(E()),cn=`
|
|
1180
1183
|
#ifdef NON_INSTANCED_MODEL
|
|
1181
1184
|
attribute float collisionPriorities;
|
|
1182
1185
|
#else
|
|
@@ -1225,7 +1228,7 @@ float collision_isVisible(vec2 texCoords, vec3 pickingColor) {
|
|
|
1225
1228
|
float W = 2.0 * floatN + 1.0;
|
|
1226
1229
|
return pow(accumulator / (W * W), 2.2);
|
|
1227
1230
|
}
|
|
1228
|
-
`,
|
|
1231
|
+
`,pn={"vs:#decl":`
|
|
1229
1232
|
float collision_fade = 1.0;
|
|
1230
1233
|
`,"vs:DECKGL_FILTER_GL_POSITION":`
|
|
1231
1234
|
if (collision_sort) {
|
|
@@ -1248,16 +1251,16 @@ float collision_isVisible(vec2 texCoords, vec3 pickingColor) {
|
|
|
1248
1251
|
}
|
|
1249
1252
|
`,"vs:DECKGL_FILTER_COLOR":`
|
|
1250
1253
|
color.a *= collision_fade;
|
|
1251
|
-
`},
|
|
1252
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function
|
|
1253
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function
|
|
1254
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function
|
|
1254
|
+
`},vn=function(r,e){if(!r||!("dummyCollisionMap"in r))return{};var n=r.collisionFBO,i=r.drawToCollisionMap,o=r.dummyCollisionMap;return{collision_sort:Boolean(i),collision_texture:!i&&n?n:o}},bt={name:"collision",dependencies:[xt.project],vs:cn,inject:pn,getUniforms:vn};var F=h(A());var Nt=h(E());var Tt=h(A()),wt=h(E());function Ot(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Et(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Ot(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Ot(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function _n(t){var r=dn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function dn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var At=function(t){x(e,t);var r=_n(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"renderCollisionMap",value:function(i,o){var a=this,f=this.gl,s=1;return(0,Tt.withParameters)(f,{scissorTest:!0,scissor:[s,s,i.width-2*s,i.height-2*s],clearColor:[0,0,0,0],blend:!1,depthTest:!0,depthRange:[0,1]},function(){return a.render(Et(Et({},o),{},{target:i,pass:"collision"}))})}},{key:"getModuleParameters",value:function(){return{drawToCollisionMap:!0,pickingActive:1,pickingAttribute:!1,lightSources:{}}}}]),e}(wt._LayersPass);var Ie=h(E()),It=h(A());function Ce(t,r){for(;!Object.prototype.hasOwnProperty.call(t,r)&&(t=d(t),t!==null););return t}function I(t,r,e){return typeof Reflect<"u"&&Reflect.get?I=Reflect.get:I=function(i,o,a){var f=Ce(i,o);if(f){var s=Object.getOwnPropertyDescriptor(f,o);return s.get?s.get.call(a):s.value}},I(t,r,e||t)}var D=h(A()),St=h(E());function Mt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Rt(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Mt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Mt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function mn(t){var r=hn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function hn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Ft=function(t){x(e,t);var r=mn(e);function e(n,i){var o,a;y(this,e),a=r.call(this,n,i),u(C(a),"maskMap",void 0),u(C(a),"fbo",void 0);var f=i.mapSize,s=f===void 0?2048:f;return a.maskMap=new D.Texture2D(n,{width:s,height:s,parameters:(o={},u(o,10241,9729),u(o,10240,9729),u(o,10242,33071),u(o,10243,33071),o)}),a.fbo=new D.Framebuffer(n,{id:"maskmap",width:s,height:s,attachments:u({},36064,a.maskMap)}),a}return g(e,[{key:"render",value:function(i){var o=this,a=this.gl,f=[!1,!1,!1,!1];return f[i.channel]=!0,(0,D.withParameters)(a,{clearColor:[255,255,255,255],blend:!0,blendFunc:[0,1],blendEquation:32778,colorMask:f,depthTest:!1},function(){return I(d(e.prototype),"render",o).call(o,Rt(Rt({},i),{},{target:o.fbo,pass:"mask"}))})}},{key:"shouldDrawLayer",value:function(i){return i.props.operation.includes("mask")}},{key:"delete",value:function(){this.fbo.delete(),this.maskMap.delete()}}]),e}(St._LayersPass);var _e=h(E());function yn(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=gn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1255
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function gn(t,r){if(t){if(typeof t=="string")return kt(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return kt(t,r)}}function kt(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}function j(t,r){var e=[1/0,1/0,-1/0,-1/0],n=yn(t),i;try{for(n.s();!(i=n.n()).done;){var o=i.value,a=o.getBounds();if(a){var f=o.projectPosition(a[0],{viewport:r,autoOffset:!1}),s=o.projectPosition(a[1],{viewport:r,autoOffset:!1});e[0]=Math.min(e[0],f[0]),e[1]=Math.min(e[1],f[1]),e[2]=Math.max(e[2],s[0]),e[3]=Math.max(e[3],s[1])}}}catch(l){n.e(l)}finally{n.f()}return Number.isFinite(e[0])?e:null}var Pn=2048;function V(t){var r=t.bounds,e=t.viewport,n=t.border,i=n===void 0?0:n,o=e.isGeospatial;if(r[2]<=r[0]||r[3]<=r[1])return null;var a=e.unprojectPosition([(r[0]+r[2])/2,(r[1]+r[3])/2,0]),f=t.width,s=t.height,l=t.zoom;if(l===void 0){f=f-i*2,s=s-i*2;var c=Math.min(f/(r[2]-r[0]),s/(r[3]-r[1]));l=Math.min(Math.log2(c),20)}else if(!f||!s){var p=Math.pow(2,l);f=Math.round(Math.abs(r[2]-r[0])*p),s=Math.round(Math.abs(r[3]-r[1])*p);var v=Pn-i*2;if(f>v||s>v){var _=v/Math.max(f,s);f=Math.round(f*_),s=Math.round(s*_),l+=Math.log2(_)}}return o?new _e.WebMercatorViewport({id:e.id,x:i,y:i,width:f,height:s,longitude:a[0],latitude:a[1],zoom:l,orthographic:!0}):new _e.OrthographicViewport({id:e.id,x:i,y:i,width:f,height:s,target:a,zoom:l,flipY:!1})}function xn(t,r){var e;if(r&&r.length===2){var n=H(r,2),i=n[0],o=n[1],a=t.getBounds({z:i}),f=t.getBounds({z:o});e=[Math.min(a[0],f[0]),Math.min(a[1],f[1]),Math.max(a[2],f[2]),Math.max(a[3],f[3])]}else e=t.getBounds();var s=t.projectPosition(e.slice(0,2)),l=t.projectPosition(e.slice(2,4));return[s[0],s[1],l[0],l[1]]}function z(t,r,e){if(!t)return[0,0,1,1];var n=xn(r,e),i=bn(n);return t[2]-t[0]<=i[2]-i[0]&&t[3]-t[1]<=i[3]-i[1]?t:[Math.max(t[0],i[0]),Math.max(t[1],i[1]),Math.min(t[2],i[2]),Math.min(t[3],i[3])]}function bn(t){var r=t[2]-t[0],e=t[3]-t[1],n=(t[0]+t[2])/2,i=(t[1]+t[3])/2;return[n-r,i-e,n+r,i+e]}function On(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=En(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1256
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function En(t,r){if(t){if(typeof t=="string")return Ct(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Ct(t,r)}}function Ct(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var de=function(){function t(){y(this,t),u(this,"id","mask-effect"),u(this,"props",null),u(this,"useInPicking",!0),u(this,"order",0),u(this,"dummyMaskMap",void 0),u(this,"channels",[]),u(this,"masks",null),u(this,"maskPass",void 0),u(this,"maskMap",void 0),u(this,"lastViewport",void 0)}return g(t,[{key:"preRender",value:function(e,n){var i=n.layers,o=n.layerFilter,a=n.viewports,f=n.onViewportActive,s=n.views,l=n.isPicking,c=!1;if(this.dummyMaskMap||(this.dummyMaskMap=new It.Texture2D(e,{width:1,height:1})),l)return{didRender:c};var p=i.filter(function(T){return T.props.visible&&T.props.operation.includes("mask")});if(p.length===0)return this.masks=null,this.channels.length=0,{didRender:c};this.masks={},this.maskPass||(this.maskPass=new Ft(e,{id:"default-mask"}),this.maskMap=this.maskPass.maskMap);var v=this._sortMaskChannels(p),_=a[0],P=!this.lastViewport||!this.lastViewport.equals(_);if(_.resolution!==void 0)return Ie.log.warn("MaskExtension is not supported in GlobeView")(),{didRender:c};for(var m in v){var O=this._renderChannel(v[m],{layerFilter:o,onViewportActive:f,views:s,viewport:_,viewportChanged:P});c||(c=O)}return{didRender:c}}},{key:"_renderChannel",value:function(e,n){var i=n.layerFilter,o=n.onViewportActive,a=n.views,f=n.viewport,s=n.viewportChanged,l=!1,c=this.channels[e.index];if(!c)return l;var p=e===c||e.layers.length!==c.layers.length||e.layers.some(function(O,T){return O!==c.layers[T]||O.props.transitions})||e.layerBounds.some(function(O,T){return O!==c.layerBounds[T]});if(e.bounds=c.bounds,e.maskBounds=c.maskBounds,this.channels[e.index]=e,p||s){this.lastViewport=f;var v=j(e.layers,f);if(e.bounds=v&&z(v,f),p||!B(e.bounds,c.bounds)){var _=this.maskPass,P=this.maskMap,m=v&&V({bounds:e.bounds,viewport:f,width:P.width,height:P.height,border:1});e.maskBounds=m?m.getBounds():[0,0,1,1],_.render({pass:"mask",channel:e.index,layers:e.layers,layerFilter:i,viewports:m?[m]:[],onViewportActive:o,views:a,moduleParameters:{devicePixelRatio:1}}),l=!0}}return this.masks[e.id]={index:e.index,bounds:e.maskBounds,coordinateOrigin:e.coordinateOrigin,coordinateSystem:e.coordinateSystem},l}},{key:"_sortMaskChannels",value:function(e){var n=this,i={},o=0,a=On(e),f;try{var s=function(){var m=f.value,O=m.root.id,T=i[O];if(!T){if(++o>4)return Ie.log.warn("Too many mask layers. The max supported is 4")(),"continue";T={id:O,index:n.channels.findIndex(function(w){return w?.id===O}),layers:[],layerBounds:[],coordinateOrigin:m.root.props.coordinateOrigin,coordinateSystem:m.root.props.coordinateSystem},i[O]=T}T.layers.push(m),T.layerBounds.push(m.getBounds())};for(a.s();!(f=a.n()).done;)var l=s()}catch(P){a.e(P)}finally{a.f()}for(var c=0;c<4;c++){var p=this.channels[c];(!p||!(p.id in i))&&(this.channels[c]=null)}for(var v in i){var _=i[v];_.index<0&&(_.index=this.channels.findIndex(function(P){return!P}),this.channels[_.index]=_)}return i}},{key:"getModuleParameters",value:function(){return{maskMap:this.masks?this.maskMap:this.dummyMaskMap,maskChannels:this.masks}}},{key:"cleanup",value:function(){this.dummyMaskMap&&(this.dummyMaskMap.delete(),this.dummyMaskMap=void 0),this.maskPass&&(this.maskPass.delete(),this.maskPass=void 0,this.maskMap=void 0),this.lastViewport=void 0,this.masks=null,this.channels.length=0}}]),t}();function Tn(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=wn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1257
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function wn(t,r){if(t){if(typeof t=="string")return Lt(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Lt(t,r)}}function Lt(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var Le=2,Bt=function(){function t(){y(this,t),u(this,"id","collision-filter-effect"),u(this,"props",null),u(this,"useInPicking",!0),u(this,"order",1),u(this,"channels",{}),u(this,"collisionFilterPass",void 0),u(this,"collisionFBOs",{}),u(this,"dummyCollisionMap",void 0),u(this,"lastViewport",void 0)}return g(t,[{key:"preRender",value:function(e,n){var i,o=n.effects,a=n.layers,f=n.layerFilter,s=n.viewports,l=n.onViewportActive,c=n.views,p=n.isPicking,v=n.preRenderStats,_=v===void 0?{}:v;if(this.dummyCollisionMap||(this.dummyCollisionMap=new F.Texture2D(e,{width:1,height:1})),!p){var P=a.filter(function(Oe){var De=Oe.props,cr=De.visible,pr=De.collisionEnabled;return cr&&pr});if(P.length===0){this.channels={};return}this.collisionFilterPass||(this.collisionFilterPass=new At(e,{id:"default-collision-filter"}));var m=o?.filter(function(Oe){return Oe.constructor===de}),O=(i=_["mask-effect"])===null||i===void 0?void 0:i.didRender,T=this._groupByCollisionGroup(e,P),w=s[0],ee=!this.lastViewport||!this.lastViewport.equals(w)||O;for(var G in T){var lr=this.collisionFBOs[G],ur=T[G];lr.resize({width:e.canvas.width/Le,height:e.canvas.height/Le}),this._render(ur,{effects:m,layerFilter:f,onViewportActive:l,views:c,viewport:w,viewportChanged:ee})}}}},{key:"_render",value:function(e,n){var i=n.effects,o=n.layerFilter,a=n.onViewportActive,f=n.views,s=n.viewport,l=n.viewportChanged,c=e.collisionGroup,p=this.channels[c];if(p){var v=l||e===p||!(0,Nt._deepEqual)(p.layers,e.layers,1)||e.layerBounds.some(function(P,m){return!B(P,p.layerBounds[m])})||e.allLayersLoaded!==p.allLayersLoaded||e.layers.some(function(P){return P.props.transitions});if(this.channels[c]=e,v){this.lastViewport=s;var _=this.collisionFBOs[c];this.collisionFilterPass.renderCollisionMap(_,{pass:"collision-filter",isPicking:!0,layers:e.layers,effects:i,layerFilter:o,viewports:s?[s]:[],onViewportActive:a,views:f,moduleParameters:{dummyCollisionMap:this.dummyCollisionMap,devicePixelRatio:(0,F.cssToDeviceRatio)(_.gl)/Le}})}}}},{key:"_groupByCollisionGroup",value:function(e,n){var i={},o=Tn(n),a;try{for(o.s();!(a=o.n()).done;){var f=a.value,s=f.props.collisionGroup,l=i[s];l||(l={collisionGroup:s,layers:[],layerBounds:[],allLayersLoaded:!0},i[s]=l),l.layers.push(f),l.layerBounds.push(f.getBounds()),f.isLoaded||(l.allLayersLoaded=!1)}}catch(O){o.e(O)}finally{o.f()}for(var c=0,p=Object.keys(i);c<p.length;c++){var v=p[c];this.collisionFBOs[v]||this.createFBO(e,v),this.channels[v]||(this.channels[v]=i[v])}for(var _=0,P=Object.keys(this.collisionFBOs);_<P.length;_++){var m=P[_];i[m]||this.destroyFBO(m)}return i}},{key:"getModuleParameters",value:function(e){var n=e.props.collisionGroup,i=this.collisionFBOs,o=this.dummyCollisionMap;return{collisionFBO:i[n],dummyCollisionMap:o}}},{key:"cleanup",value:function(){this.dummyCollisionMap&&(this.dummyCollisionMap.delete(),this.dummyCollisionMap=void 0),this.channels={};for(var e=0,n=Object.keys(this.collisionFBOs);e<n.length;e++){var i=n[e];this.destroyFBO(i)}this.collisionFBOs={},this.lastViewport=void 0}},{key:"createFBO",value:function(e,n){var i,o,a=e.canvas,f=a.width,s=a.height,l=new F.Texture2D(e,{width:f,height:s,parameters:(i={},u(i,10241,9728),u(i,10240,9728),u(i,10242,33071),u(i,10243,33071),i)}),c=new F.Renderbuffer(e,{format:33189,width:f,height:s});this.collisionFBOs[n]=new F.Framebuffer(e,{id:"Collision-".concat(n),width:f,height:s,attachments:(o={},u(o,36064,l),u(o,36096,c),o)})}},{key:"destroyFBO",value:function(e){for(var n=this.collisionFBOs[e],i=0,o=Object.values(n.attachments);i<o.length;i++){var a=o[i];a.delete()}n.delete(),delete this.collisionFBOs[e]}}]),t}();function An(t){var r=Mn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Mn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Rn={getCollisionPriority:{type:"accessor",value:0},collisionEnabled:!0,collisionGroup:{type:"string",value:"default"},collisionTestProps:{}},me=function(t){x(e,t);var r=An(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){return{modules:[bt]}}},{key:"draw",value:function(i){var o=i.uniforms,a=i.context,f=i.moduleParameters,s=this.props.collisionEnabled,l=f.collisionFBO,c=f.drawToCollisionMap,p=s&&Boolean(l);o.collision_enabled=p,c&&(this.props=this.clone(this.props.collisionTestProps).props)}},{key:"initializeState",value:function(i,o){var a;if(this.getAttributeManager()!==null){(a=this.context.deck)===null||a===void 0||a._addDefaultEffect(new Bt);var f=this.getAttributeManager();f.add({collisionPriorities:{size:1,accessor:"getCollisionPriority",shaderAttributes:{collisionPriorities:{divisor:0},instanceCollisionPriorities:{divisor:1}}}})}}},{key:"getNeedsPickingBuffer",value:function(){return this.props.collisionEnabled}}]),e}(Dt.LayerExtension);u(me,"defaultProps",Rn);u(me,"extensionName","CollisionFilterExtension");var L=h(E());var jt=h(E()),Sn=`
|
|
1255
1258
|
uniform vec4 mask_bounds;
|
|
1256
1259
|
uniform bool mask_maskByInstance;
|
|
1257
1260
|
vec2 mask_getCoords(vec4 position) {
|
|
1258
1261
|
return (position.xy - mask_bounds.xy) / (mask_bounds.zw - mask_bounds.xy);
|
|
1259
1262
|
}
|
|
1260
|
-
`,
|
|
1263
|
+
`,Fn=`
|
|
1261
1264
|
uniform sampler2D mask_texture;
|
|
1262
1265
|
uniform int mask_channel;
|
|
1263
1266
|
uniform bool mask_enabled;
|
|
@@ -1284,7 +1287,7 @@ bool mask_isInBounds(vec2 texCoords) {
|
|
|
1284
1287
|
return maskValue < 0.5;
|
|
1285
1288
|
}
|
|
1286
1289
|
}
|
|
1287
|
-
`,
|
|
1290
|
+
`,kn={"vs:#decl":`
|
|
1288
1291
|
varying vec2 mask_texCoords;
|
|
1289
1292
|
`,"vs:#main-end":`
|
|
1290
1293
|
vec4 mask_common_position;
|
|
@@ -1306,13 +1309,13 @@ varying vec2 mask_texCoords;
|
|
|
1306
1309
|
|
|
1307
1310
|
if (!mask) discard;
|
|
1308
1311
|
}
|
|
1309
|
-
`},
|
|
1310
|
-
`),
|
|
1312
|
+
`},Cn=function(r){return r&&"maskMap"in r?{mask_texture:r.maskMap}:{}},Vt={name:"mask",dependencies:[jt.project],vs:Sn,fs:Fn,inject:kn,getUniforms:Cn};function In(t){var r=Ln();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Ln(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Nn={maskId:"",maskByInstance:void 0,maskInverted:!1},he=function(t){x(e,t);var r=In(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"initializeState",value:function(){var i;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new de)}},{key:"getShaders",value:function(){var i="instancePositions"in this.getAttributeManager().attributes;return this.props.maskByInstance!==void 0&&(i=Boolean(this.props.maskByInstance)),this.state.maskByInstance=i,{modules:[Vt]}}},{key:"draw",value:function(i){var o=i.uniforms,a=i.context,f=i.moduleParameters;o.mask_maskByInstance=this.state.maskByInstance;var s=this.props,l=s.maskId,c=s.maskInverted,p=f.maskChannels,v=a.viewport;if(p&&p[l]){var _=p[l],P=_.index,m=_.bounds,O=_.coordinateOrigin,T=p[l].coordinateSystem;o.mask_enabled=!0,o.mask_channel=P,o.mask_inverted=c,T===L.COORDINATE_SYSTEM.DEFAULT&&(T=v.isGeospatial?L.COORDINATE_SYSTEM.LNGLAT:L.COORDINATE_SYSTEM.CARTESIAN);var w={modelMatrix:null,fromCoordinateOrigin:O,fromCoordinateSystem:T},ee=this.projectPosition([m[0],m[1],0],w),G=this.projectPosition([m[2],m[3],0],w);o.mask_bounds=[ee[0],ee[1],G[0],G[1]]}else l&&L.log.warn("Could not find a mask layer with id: ".concat(l))(),o.mask_enabled=!1}}]),e}(L.LayerExtension);u(he,"defaultProps",Nn);u(he,"extensionName","MaskExtension");var fr=h(E());var xe=h(A()),ar=h(E());var Ut=h(E()),R={NONE:0,WRITE_HEIGHT_MAP:1,USE_HEIGHT_MAP:2,USE_COVER:3,USE_COVER_ONLY:4,SKIP:5},zt=Object.keys(R).map(function(t){return"const float TERRAIN_MODE_".concat(t," = ").concat(R[t],".0;")}).join(`
|
|
1313
|
+
`),ye={name:"terrain",dependencies:[Ut.project],inject:{"vs:#decl":`
|
|
1311
1314
|
uniform float terrain_mode;
|
|
1312
1315
|
uniform sampler2D terrain_map;
|
|
1313
1316
|
uniform vec4 terrain_bounds;
|
|
1314
1317
|
varying vec3 commonPos;
|
|
1315
|
-
`.concat(
|
|
1318
|
+
`.concat(zt,`
|
|
1316
1319
|
`),"vs:#main-start":`
|
|
1317
1320
|
if (terrain_mode == TERRAIN_MODE_SKIP) {
|
|
1318
1321
|
gl_Position = vec4(0.0);
|
|
@@ -1341,7 +1344,7 @@ uniform float terrain_mode;
|
|
|
1341
1344
|
uniform sampler2D terrain_map;
|
|
1342
1345
|
uniform vec4 terrain_bounds;
|
|
1343
1346
|
varying vec3 commonPos;
|
|
1344
|
-
`.concat(
|
|
1347
|
+
`.concat(zt,`
|
|
1345
1348
|
`),"fs:#main-start":`
|
|
1346
1349
|
if (terrain_mode == TERRAIN_MODE_WRITE_HEIGHT_MAP) {
|
|
1347
1350
|
gl_FragColor = vec4(commonPos.z, 0.0, 0.0, 1.0);
|
|
@@ -1359,8 +1362,8 @@ if ((terrain_mode == TERRAIN_MODE_USE_COVER) || (terrain_mode == TERRAIN_MODE_US
|
|
|
1359
1362
|
}
|
|
1360
1363
|
return;
|
|
1361
1364
|
}
|
|
1362
|
-
`},getUniforms:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if("dummyHeightMap"in r){var n=r.drawToTerrainHeightMap,i=r.heightMap,o=r.heightMapBounds,a=r.dummyHeightMap,f=r.terrainCover,s=r.useTerrainHeightMap,l=r.terrainSkipRender,c=e.project_uCommonOrigin,p=l?
|
|
1363
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function da(t,r){if(t){if(typeof t=="string")return Ln(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Ln(t,r)}}function Ln(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var Dn=function(){function t(r){(0,Nn.default)(this,t),(0,k.default)(this,"isDirty",!0),(0,k.default)(this,"targetLayer",void 0),(0,k.default)(this,"renderViewport",null),(0,k.default)(this,"bounds",null),(0,k.default)(this,"fbo",void 0),(0,k.default)(this,"pickingFbo",void 0),(0,k.default)(this,"layers",[]),(0,k.default)(this,"tile",void 0),(0,k.default)(this,"targetBounds",null),(0,k.default)(this,"targetBoundsCommon",null),this.targetLayer=r,this.tile=jn(r)}return(0,Bn.default)(t,[{key:"id",get:function(){return this.targetLayer.id}},{key:"isActive",get:function(){return Boolean(this.targetLayer.getCurrentLayer())}},{key:"shouldUpdate",value:function(e){var n=e.targetLayer,i=e.viewport,o=e.layers,a=e.layerNeedsRedraw;n&&(this.targetLayer=n);var f=i?this._updateViewport(i):!1,s=o?this._updateLayers(o):!1;if(a){var l=_a(this.layers),c;try{for(l.s();!(c=l.n()).done;){var p=c.value;if(a[p]){s=!0;break}}}catch(v){l.e(v)}finally{l.f()}}return s||f}},{key:"_updateLayers",value:function(e){var n=!1;if(e=this.tile?ma(this.tile,e):e,e.length!==this.layers.length)n=!0;else for(var i=0;i<e.length;i++){var o=e[i].id;if(o!==this.layers[i]){n=!0;break}}return n&&(this.layers=e.map(function(a){return a.id})),n}},{key:"_updateViewport",value:function(e){var n=this.targetLayer,i=!1;if(this.tile&&"boundingBox"in this.tile){if(!this.targetBounds){i=!0,this.targetBounds=this.tile.boundingBox;var o=e.projectPosition(this.targetBounds[0]),a=e.projectPosition(this.targetBounds[1]);this.targetBoundsCommon=[o[0],o[1],a[0],a[1]]}}else this.targetBounds!==n.getBounds()&&(i=!0,this.targetBounds=n.getBounds(),this.targetBoundsCommon=G([n],e));if(!this.targetBoundsCommon)return!1;var f=Math.ceil(e.zoom+.5);if(this.tile)this.bounds=this.targetBoundsCommon;else{var s,l=(s=this.renderViewport)===null||s===void 0?void 0:s.zoom;i=i||f!==l;var c=H(this.targetBoundsCommon,e),p=this.bounds;i=i||!p||c.some(function(v,_){return v!==p[_]}),this.bounds=c}return i&&(this.renderViewport=W({bounds:this.bounds,zoom:f,viewport:e})),i}},{key:"getRenderFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0?null:(this.fbo||(this.fbo=te(this.targetLayer.context.gl,{id:this.id})),this.fbo)}},{key:"getPickingFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0&&!this.targetLayer.props.pickable?null:(this.pickingFbo||(this.pickingFbo=te(this.targetLayer.context.gl,{id:"".concat(this.id,"-picking")})),this.pickingFbo)}},{key:"filterLayers",value:function(e){var n=this;return e.filter(function(i){var o=i.id;return n.layers.includes(o)})}},{key:"delete",value:function(){var e=this.fbo,n=this.pickingFbo;e&&(e.texture.delete(),e.delete()),n&&(n.texture.delete(),n.delete())}}]),t}();function ma(t,r){return r.filter(function(e){var n=jn(e);return n?ha(t.boundingBox,n.boundingBox):!0})}function jn(t){for(;t;){var r=t.props.tile;if(r)return r;t=t.parent}return null}function ha(t,r){return t&&r?t[0][0]<r[1][0]&&r[0][0]<t[1][0]&&t[0][1]<r[1][1]&&r[0][1]<t[1][1]:!1}var zn=u(P()),Un=u(x()),qn=u(b()),Gn=u(w()),Wn=u(M()),ut=u(T()),ct=u(R()),Hn=u(y());function Vn(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Re(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Vn(Object(e),!0).forEach(function(n){(0,zn.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Vn(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function ya(t){var r=ga();return function(){var n=(0,ut.default)(t),i;if(r){var o=(0,ut.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,Wn.default)(this,i)}}function ga(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Kn=function(t){(0,Gn.default)(e,t);var r=ya(e);function e(){return(0,Un.default)(this,e),r.apply(this,arguments)}return(0,qn.default)(e,[{key:"getRenderableLayers",value:function(i,o){for(var a=o.layers,f=[],s=this._getDrawLayerParams(i,o,!0),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&f.push(c)}return f}},{key:"renderHeightMap",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;!f||!s||(f.resize(s),(0,ct.withParameters)(this.gl,{clearColor:[0,0,0,0],blend:!0,blendFunc:[1,1],blendEquation:32776,depthTest:!1},function(){return a.render(Re(Re({},o),{},{target:f,pass:"terrain-height-map",layers:o.layers,viewports:[s],effects:[]}))}))}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers);f.resize(s),(0,ct.withParameters)(this.gl,{depthTest:!1},function(){return a.render(Re(Re({},o),{},{target:f,pass:"terrain-cover-".concat(i.id),layers:l,effects:[],viewports:[s]}))})}}}]),e}(Hn._LayersPass);var Zn=u(x()),Xn=u(b()),Jn=u(fe()),Qn=u(rt()),ei=u(w()),ti=u(M()),Se=u(T()),pt=u(P()),ri=u(y()),ni=u(R());function Yn(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function $n(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Yn(Object(e),!0).forEach(function(n){(0,pt.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Yn(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Pa(t){var r=xa();return function(){var n=(0,Se.default)(t),i;if(r){var o=(0,Se.default)(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return(0,ti.default)(this,i)}}function xa(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var ii=function(t){(0,ei.default)(e,t);var r=Pa(e);function e(){var n;(0,Zn.default)(this,e);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r.call.apply(r,[this].concat(o)),(0,pt.default)((0,Jn.default)(n),"drawParameters",{}),n}return(0,Xn.default)(e,[{key:"getRenderableLayers",value:function(i,o){var a=o.layers,f=[];this.drawParameters={},this._resetColorEncoder(o.pickZ);for(var s=this._getDrawLayerParams(i,o),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&(f.push(c),this.drawParameters[c.id]=s[l].layerParameters)}return f}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getPickingFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers),c=i.targetLayer;c.props.pickable&&l.unshift(c),f.resize(s),(0,ni.withParameters)(this.gl,{depthTest:!1},function(){return a.render($n($n({},o),{},{pickingFBO:f,pass:"terrain-cover-picking-".concat(i.id),layers:l,effects:[],viewports:[s],cullRect:void 0,deviceRect:s,pickZ:!1}))})}}},{key:"getLayerParameters",value:function(i,o,a){if(this.drawParameters[i.id])return this.drawParameters[i.id];var f=(0,Qn.default)((0,Se.default)(e.prototype),"getLayerParameters",this).call(this,i,o,a);return f.blend=!0,f}}]),e}(ri._PickLayersPass);var ai=u(x()),si=u(b()),D=u(P()),fi=u(R());var oi=2048,vt=function(){function t(r){(0,ai.default)(this,t),(0,D.default)(this,"renderViewport",null),(0,D.default)(this,"bounds",null),(0,D.default)(this,"fbo",void 0),(0,D.default)(this,"gl",void 0),(0,D.default)(this,"layers",[]),(0,D.default)(this,"layersBounds",[]),(0,D.default)(this,"layersBoundsCommon",null),(0,D.default)(this,"lastViewport",null),this.gl=r}return(0,si.default)(t,[{key:"getRenderFramebuffer",value:function(){return this.renderViewport?(this.fbo||(this.fbo=te(this.gl,{id:"height-map",float:!0})),this.fbo):null}},{key:"shouldUpdate",value:function(e){var n=this,i=e.layers,o=e.viewport,a=i.length!==this.layers.length||i.some(function(v,_){return v!==n.layers[_]||v.props.transitions||v.getBounds()!==n.layersBounds[_]});a&&(this.layers=i,this.layersBounds=i.map(function(v){return v.getBounds()}),this.layersBoundsCommon=G(i,o));var f=!this.lastViewport||!o.equals(this.lastViewport);if(!this.layersBoundsCommon)this.renderViewport=null;else if(a||f){var s=H(this.layersBoundsCommon,o);if(s[2]<=s[0]||s[3]<=s[1])return this.renderViewport=null,!1;this.bounds=s,this.lastViewport=o;var l=o.scale,c=(s[2]-s[0])*l,p=(s[3]-s[1])*l;return this.renderViewport=c>0||p>0?W({bounds:[o.center[0]-1,o.center[1]-1,o.center[0]+1,o.center[1]+1],zoom:o.zoom,width:Math.min(c,oi),height:Math.min(p,oi),viewport:o}):null,!0}return!1}},{key:"delete",value:function(){this.fbo&&(this.fbo.color.delete(),this.fbo.delete())}}],[{key:"isSupported",value:function(e){return fi.Framebuffer.isSupported(e,{colorBufferFloat:!0})}}]),t}();function li(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Fe(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?li(Object(e),!0).forEach(function(n){(0,S.default)(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):li(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function Y(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=ba(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1364
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function
|
|
1365
|
+
`},getUniforms:function(){var r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;if("dummyHeightMap"in r){var n=r.drawToTerrainHeightMap,i=r.heightMap,o=r.heightMapBounds,a=r.dummyHeightMap,f=r.terrainCover,s=r.useTerrainHeightMap,l=r.terrainSkipRender,c=e.project_uCommonOrigin,p=l?R.SKIP:R.NONE,v=a,_=null;if(n)p=R.WRITE_HEIGHT_MAP,_=o;else if(s&&i)p=R.USE_HEIGHT_MAP,v=i,_=o;else if(f){var P=r.pickingActive;v=P?f.getPickingFramebuffer():f.getRenderFramebuffer(),P&&(p=R.SKIP),v?(p=p===R.SKIP?R.USE_COVER_ONLY:R.USE_COVER,_=f.bounds):v=a}return{terrain_mode:p,terrain_map:v,terrain_bounds:_?[_[0]-c[0],_[1]-c[1],_[2]-_[0],_[3]-_[1]]:[0,0,0,0]}}return null}};var U=h(A());function qt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Gt(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?qt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):qt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function J(t,r){var e;return new U.Framebuffer(t,{id:r.id,attachments:u({},36064,new U.Texture2D(t,Gt(Gt({},r.float&&{format:(0,U.isWebGL2)(t)?34836:6408,type:5126}),{},{mipmaps:!1,parameters:(e={},u(e,10241,9729),u(e,10240,9729),u(e,10242,33071),u(e,10243,33071),e)})))})}function Bn(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=Dn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1366
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function Dn(t,r){if(t){if(typeof t=="string")return Wt(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return Wt(t,r)}}function Wt(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var Ht=function(){function t(r){y(this,t),u(this,"isDirty",!0),u(this,"targetLayer",void 0),u(this,"renderViewport",null),u(this,"bounds",null),u(this,"fbo",void 0),u(this,"pickingFbo",void 0),u(this,"layers",[]),u(this,"tile",void 0),u(this,"targetBounds",null),u(this,"targetBoundsCommon",null),this.targetLayer=r,this.tile=Kt(r)}return g(t,[{key:"id",get:function(){return this.targetLayer.id}},{key:"isActive",get:function(){return Boolean(this.targetLayer.getCurrentLayer())}},{key:"shouldUpdate",value:function(e){var n=e.targetLayer,i=e.viewport,o=e.layers,a=e.layerNeedsRedraw;n&&(this.targetLayer=n);var f=i?this._updateViewport(i):!1,s=o?this._updateLayers(o):!1;if(a){var l=Bn(this.layers),c;try{for(l.s();!(c=l.n()).done;){var p=c.value;if(a[p]){s=!0;break}}}catch(v){l.e(v)}finally{l.f()}}return s||f}},{key:"_updateLayers",value:function(e){var n=!1;if(e=this.tile?jn(this.tile,e):e,e.length!==this.layers.length)n=!0;else for(var i=0;i<e.length;i++){var o=e[i].id;if(o!==this.layers[i]){n=!0;break}}return n&&(this.layers=e.map(function(a){return a.id})),n}},{key:"_updateViewport",value:function(e){var n=this.targetLayer,i=!1;if(this.tile&&"boundingBox"in this.tile){if(!this.targetBounds){i=!0,this.targetBounds=this.tile.boundingBox;var o=e.projectPosition(this.targetBounds[0]),a=e.projectPosition(this.targetBounds[1]);this.targetBoundsCommon=[o[0],o[1],a[0],a[1]]}}else this.targetBounds!==n.getBounds()&&(i=!0,this.targetBounds=n.getBounds(),this.targetBoundsCommon=j([n],e));if(!this.targetBoundsCommon)return!1;var f=Math.ceil(e.zoom+.5);if(this.tile)this.bounds=this.targetBoundsCommon;else{var s,l=(s=this.renderViewport)===null||s===void 0?void 0:s.zoom;i=i||f!==l;var c=z(this.targetBoundsCommon,e),p=this.bounds;i=i||!p||c.some(function(v,_){return v!==p[_]}),this.bounds=c}return i&&(this.renderViewport=V({bounds:this.bounds,zoom:f,viewport:e})),i}},{key:"getRenderFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0?null:(this.fbo||(this.fbo=J(this.targetLayer.context.gl,{id:this.id})),this.fbo)}},{key:"getPickingFramebuffer",value:function(){return!this.renderViewport||this.layers.length===0&&!this.targetLayer.props.pickable?null:(this.pickingFbo||(this.pickingFbo=J(this.targetLayer.context.gl,{id:"".concat(this.id,"-picking")})),this.pickingFbo)}},{key:"filterLayers",value:function(e){var n=this;return e.filter(function(i){var o=i.id;return n.layers.includes(o)})}},{key:"delete",value:function(){var e=this.fbo,n=this.pickingFbo;e&&(e.texture.delete(),e.delete()),n&&(n.texture.delete(),n.delete())}}]),t}();function jn(t,r){return r.filter(function(e){var n=Kt(e);return n?Vn(t.boundingBox,n.boundingBox):!0})}function Kt(t){for(;t;){var r=t.props.tile;if(r)return r;t=t.parent}return null}function Vn(t,r){return t&&r?t[0][0]<r[1][0]&&r[0][0]<t[1][0]&&t[0][1]<r[1][1]&&r[0][1]<t[1][1]:!1}var Ne=h(A()),$t=h(E());function Yt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function ge(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Yt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Yt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function zn(t){var r=Un();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Un(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Zt=function(t){x(e,t);var r=zn(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getRenderableLayers",value:function(i,o){for(var a=o.layers,f=[],s=this._getDrawLayerParams(i,o,!0),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&f.push(c)}return f}},{key:"renderHeightMap",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;!f||!s||(f.resize(s),(0,Ne.withParameters)(this.gl,{clearColor:[0,0,0,0],blend:!0,blendFunc:[1,1],blendEquation:32776,depthTest:!1},function(){return a.render(ge(ge({},o),{},{target:f,pass:"terrain-height-map",layers:o.layers,viewports:[s],effects:[]}))}))}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getRenderFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers);f.resize(s),(0,Ne.withParameters)(this.gl,{clearColor:[0,0,0,0],depthTest:!1},function(){return a.render(ge(ge({},o),{},{target:f,pass:"terrain-cover-".concat(i.id),layers:l,effects:[],viewports:[s]}))})}}}]),e}($t._LayersPass);var Qt=h(E()),er=h(A());function Xt(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Jt(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?Xt(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):Xt(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function qn(t){var r=Gn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Gn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var tr=function(t){x(e,t);var r=qn(e);function e(){var n;y(this,e);for(var i=arguments.length,o=new Array(i),a=0;a<i;a++)o[a]=arguments[a];return n=r.call.apply(r,[this].concat(o)),u(C(n),"drawParameters",{}),n}return g(e,[{key:"getRenderableLayers",value:function(i,o){var a=o.layers,f=[];this.drawParameters={},this._resetColorEncoder(o.pickZ);for(var s=this._getDrawLayerParams(i,o),l=0;l<a.length;l++){var c=a[l];!c.isComposite&&s[l].shouldDrawLayer&&(f.push(c),this.drawParameters[c.id]=s[l].layerParameters)}return f}},{key:"renderTerrainCover",value:function(i,o){var a=this,f=i.getPickingFramebuffer(),s=i.renderViewport;if(!(!f||!s)){var l=i.filterLayers(o.layers),c=i.targetLayer;c.props.pickable&&l.unshift(c),f.resize(s),(0,er.withParameters)(this.gl,{depthTest:!1},function(){return a.render(Jt(Jt({},o),{},{pickingFBO:f,pass:"terrain-cover-picking-".concat(i.id),layers:l,effects:[],viewports:[s],cullRect:void 0,deviceRect:s,pickZ:!1}))})}}},{key:"getLayerParameters",value:function(i,o,a){if(this.drawParameters[i.id])return this.drawParameters[i.id];var f=I(d(e.prototype),"getLayerParameters",this).call(this,i,o,a);return f.blend=!0,f}}]),e}(Qt._PickLayersPass);var nr=h(A());var rr=2048,Be=function(){function t(r){y(this,t),u(this,"renderViewport",null),u(this,"bounds",null),u(this,"fbo",void 0),u(this,"gl",void 0),u(this,"layers",[]),u(this,"layersBounds",[]),u(this,"layersBoundsCommon",null),u(this,"lastViewport",null),this.gl=r}return g(t,[{key:"getRenderFramebuffer",value:function(){return this.renderViewport?(this.fbo||(this.fbo=J(this.gl,{id:"height-map",float:!0})),this.fbo):null}},{key:"shouldUpdate",value:function(e){var n=this,i=e.layers,o=e.viewport,a=i.length!==this.layers.length||i.some(function(v,_){return v!==n.layers[_]||v.props.transitions||v.getBounds()!==n.layersBounds[_]});a&&(this.layers=i,this.layersBounds=i.map(function(v){return v.getBounds()}),this.layersBoundsCommon=j(i,o));var f=!this.lastViewport||!o.equals(this.lastViewport);if(!this.layersBoundsCommon)this.renderViewport=null;else if(a||f){var s=z(this.layersBoundsCommon,o);if(s[2]<=s[0]||s[3]<=s[1])return this.renderViewport=null,!1;this.bounds=s,this.lastViewport=o;var l=o.scale,c=(s[2]-s[0])*l,p=(s[3]-s[1])*l;return this.renderViewport=c>0||p>0?V({bounds:[o.center[0]-1,o.center[1]-1,o.center[0]+1,o.center[1]+1],zoom:o.zoom,width:Math.min(c,rr),height:Math.min(p,rr),viewport:o}):null,!0}return!1}},{key:"delete",value:function(){this.fbo&&(this.fbo.color.delete(),this.fbo.delete())}}],[{key:"isSupported",value:function(e){return nr.Framebuffer.isSupported(e,{colorBufferFloat:!0})}}]),t}();function ir(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(t,i).enumerable})),e.push.apply(e,n)}return e}function Pe(t){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?ir(Object(e),!0).forEach(function(n){u(t,n,e[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):ir(Object(e)).forEach(function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})}return t}function q(t,r){var e=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=Wn(t))||r&&t&&typeof t.length=="number"){e&&(t=e);var n=0,i=function(){};return{s:i,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(l){throw l},f:i}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
|
|
1367
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var o=!0,a=!1,f;return{s:function(){e=e.call(t)},n:function(){var l=e.next();return o=l.done,l},e:function(l){a=!0,f=l},f:function(){try{!o&&e.return!=null&&e.return()}finally{if(a)throw f}}}}function Wn(t,r){if(t){if(typeof t=="string")return or(t,r);var e=Object.prototype.toString.call(t).slice(8,-1);if(e==="Object"&&t.constructor&&(e=t.constructor.name),e==="Map"||e==="Set")return Array.from(t);if(e==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e))return or(t,r)}}function or(t,r){(r==null||r>t.length)&&(r=t.length);for(var e=0,n=new Array(r);e<r;e++)n[e]=t[e];return n}var sr=function(){function t(){y(this,t),u(this,"id","terrain-effect"),u(this,"props",null),u(this,"useInPicking",!0),u(this,"isPicking",!1),u(this,"isDrapingEnabled",!1),u(this,"dummyHeightMap",void 0),u(this,"heightMap",void 0),u(this,"terrainPass",void 0),u(this,"terrainPickingPass",void 0),u(this,"terrainCovers",new Map)}return g(t,[{key:"initialize",value:function(e){this.dummyHeightMap=new xe.Texture2D(e,{width:1,height:1,data:new Uint8Array([0,0,0,0])}),this.terrainPass=new Zt(e,{id:"terrain"}),this.terrainPickingPass=new tr(e,{id:"terrain-picking"}),Be.isSupported(e)?this.heightMap=new Be(e):ar.log.warn("Terrain offset mode is not supported by this browser")(),xe.ProgramManager.getDefaultProgramManager(e).addDefaultModule(ye)}},{key:"preRender",value:function(e,n){if(!this.dummyHeightMap){this.initialize(e);var i=q(n.layers),o;try{for(i.s();!(o=i.n()).done;){var a=o.value;a.props.operation.includes("terrain")&&a.setChangeFlags({extensionsChanged:!0})}}catch(m){i.e(m)}finally{i.f()}}if(n.pickZ){this.isDrapingEnabled=!1;return}var f=n.viewports,s=n.isPicking,l=s===void 0?!1:s;this.isPicking=l,this.isDrapingEnabled=!0;var c=f[0],p=(l?this.terrainPickingPass:this.terrainPass).getRenderableLayers(c,n),v=p.filter(function(m){return m.props.operation.includes("terrain")});if(v.length!==0){if(!l){var _=p.filter(function(m){return m.state.terrainDrawMode==="offset"});_.length>0&&this._updateHeightMap(v,c,n)}var P=p.filter(function(m){return m.state.terrainDrawMode==="drape"});this._updateTerrainCovers(v,P,c,n)}}},{key:"getModuleParameters",value:function(e){var n,i,o=e.state.terrainDrawMode;return{heightMap:(n=this.heightMap)===null||n===void 0?void 0:n.getRenderFramebuffer(),heightMapBounds:(i=this.heightMap)===null||i===void 0?void 0:i.bounds,dummyHeightMap:this.dummyHeightMap,terrainCover:this.isDrapingEnabled?this.terrainCovers.get(e.id):null,useTerrainHeightMap:o==="offset",terrainSkipRender:o==="drape"||!e.props.operation.includes("draw")}}},{key:"cleanup",value:function(){this.dummyHeightMap&&(this.dummyHeightMap.delete(),this.dummyHeightMap=void 0),this.heightMap&&(this.heightMap.delete(),this.heightMap=void 0);var e=q(this.terrainCovers.values()),n;try{for(e.s();!(n=e.n()).done;){var i=n.value;i.delete()}}catch(o){e.e(o)}finally{e.f()}this.terrainCovers.clear()}},{key:"_updateHeightMap",value:function(e,n,i){if(this.heightMap){var o=this.heightMap.shouldUpdate({layers:e,viewport:n});o&&this.terrainPass.renderHeightMap(this.heightMap,Pe(Pe({},i),{},{layers:e,moduleParameters:{heightMapBounds:this.heightMap.bounds,dummyHeightMap:this.dummyHeightMap,devicePixelRatio:1,drawToTerrainHeightMap:!0}}))}}},{key:"_updateTerrainCovers",value:function(e,n,i,o){var a={},f=q(n),s;try{for(f.s();!(s=f.n()).done;){var l=s.value;l.state.terrainCoverNeedsRedraw&&(a[l.id]=!0,l.state.terrainCoverNeedsRedraw=!1)}}catch(O){f.e(O)}finally{f.f()}var c=q(this.terrainCovers.values()),p;try{for(c.s();!(p=c.n()).done;){var v=p.value;v.isDirty=v.isDirty||v.shouldUpdate({layerNeedsRedraw:a})}}catch(O){c.e(O)}finally{c.f()}var _=q(e),P;try{for(_.s();!(P=_.n()).done;){var m=P.value;this._updateTerrainCover(m,n,i,o)}}catch(O){_.e(O)}finally{_.f()}this.isPicking||this._pruneTerrainCovers()}},{key:"_updateTerrainCover",value:function(e,n,i,o){var a=this.isPicking?this.terrainPickingPass:this.terrainPass,f=this.terrainCovers.get(e.id);f||(f=new Ht(e),this.terrainCovers.set(e.id,f));try{var s=f.shouldUpdate({targetLayer:e,viewport:i,layers:n});(this.isPicking||f.isDirty||s)&&(a.renderTerrainCover(f,Pe(Pe({},o),{},{layers:n,moduleParameters:{dummyHeightMap:this.dummyHeightMap,terrainSkipRender:!1,devicePixelRatio:1}})),f.isDirty=!1)}catch(l){e.raiseError(l,"Error rendering terrain cover ".concat(f.id))}}},{key:"_pruneTerrainCovers",value:function(){var e=[],n=q(this.terrainCovers),i;try{for(n.s();!(i=n.n()).done;){var o=H(i.value,2),a=o[0],f=o[1];f.isActive||e.push(a)}}catch(p){n.e(p)}finally{n.f()}for(var s=0,l=e;s<l.length;s++){var c=l[s];this.terrainCovers.delete(c)}}}]),t}();function Hn(t){var r=Kn();return function(){var n=d(t),i;if(r){var o=d(this).constructor;i=Reflect.construct(n,arguments,o)}else i=n.apply(this,arguments);return b(this,i)}}function Kn(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var Yn={terrainDrawMode:void 0},be=function(t){x(e,t);var r=Hn(e);function e(){return y(this,e),r.apply(this,arguments)}return g(e,[{key:"getShaders",value:function(){return{modules:[ye]}}},{key:"initializeState",value:function(){var i;(i=this.context.deck)===null||i===void 0||i._addDefaultEffect(new sr)}},{key:"updateState",value:function(i){var o=i.props,a=i.oldProps;if(!(this.state.terrainDrawMode&&o.terrainDrawMode===a.terrainDrawMode&&o.extruded===a.extruded)){var f=o.terrainDrawMode;if(!f){var s,l=this.props.extruded,c=(s=this.getAttributeManager())===null||s===void 0?void 0:s.attributes,p=c&&"instancePositions"in c;f=l||p?"offset":"drape"}this.setState({terrainDrawMode:f})}}},{key:"onNeedsRedraw",value:function(){var i=this.state;i.terrainDrawMode==="drape"&&(i.terrainCoverNeedsRedraw=!0)}}]),e}(fr.LayerExtension);u(be,"defaultProps",Yn);u(be,"extensionName","TerrainExtension");return gr(Q);})();
|
|
1365
1368
|
return __exports__;
|
|
1366
1369
|
});
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@deck.gl/extensions",
|
|
3
3
|
"description": "Plug-and-play functionalities for deck.gl layers",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "8.10.0-alpha.
|
|
5
|
+
"version": "8.10.0-alpha.2",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
8
8
|
},
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
+
"@babel/runtime": "^7.0.0",
|
|
33
34
|
"@luma.gl/shadertools": "^8.5.20"
|
|
34
35
|
},
|
|
35
36
|
"peerDependencies": {
|
|
@@ -40,5 +41,5 @@
|
|
|
40
41
|
"@math.gl/web-mercator": "^3.6.2",
|
|
41
42
|
"gl-matrix": "^3.0.0"
|
|
42
43
|
},
|
|
43
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "888ee50db498da4b42697854e79e46cdbb881470"
|
|
44
45
|
}
|
|
@@ -47,7 +47,7 @@ float round(float x) {
|
|
|
47
47
|
offset = solidLength / 2.0;
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
float unitOffset = mod(
|
|
50
|
+
float unitOffset = mod(vPathPosition.y + offset, unitLength);
|
|
51
51
|
|
|
52
52
|
if (gapLength > 0.0 && unitOffset > solidLength) {
|
|
53
53
|
if (capType <= 0.5) {
|
|
@@ -81,10 +81,12 @@ attribute float instanceOffsets;
|
|
|
81
81
|
float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
|
|
82
82
|
size *= offsetWidth;
|
|
83
83
|
`,
|
|
84
|
-
'
|
|
84
|
+
'vs:#main-end': `
|
|
85
85
|
float offsetWidth = abs(instanceOffsets * 2.0) + 1.0;
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
float offsetDir = sign(instanceOffsets);
|
|
87
|
+
vPathPosition.x = (vPathPosition.x + offsetDir) * offsetWidth - offsetDir;
|
|
88
|
+
vPathPosition.y *= offsetWidth;
|
|
89
|
+
vPathLength *= offsetWidth;
|
|
88
90
|
`,
|
|
89
91
|
'fs:#main-start': `
|
|
90
92
|
float isInside;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shaders.glsl.d.ts","sourceRoot":"","sources":["../../src/path-style/shaders.glsl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;CAwEvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;
|
|
1
|
+
{"version":3,"file":"shaders.glsl.d.ts","sourceRoot":"","sources":["../../src/path-style/shaders.glsl.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW;;;;;;;CAwEvB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;CAwBzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terrain-pass.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-pass.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,IAAI,UAAU,EAAE,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAClG,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAIlD,oBAAY,wBAAwB,GAAG,uBAAuB,CAAC;AAE/D,6DAA6D;AAC7D,qBAAa,WAAY,SAAQ,UAAU;IACzC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,GAAG,KAAK,EAAE;IAchF,eAAe,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAgCpF,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"terrain-pass.d.ts","sourceRoot":"","sources":["../../src/terrain/terrain-pass.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,IAAI,UAAU,EAAE,uBAAuB,EAAC,MAAM,eAAe,CAAC;AAClG,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAIlD,oBAAY,wBAAwB,GAAG,uBAAuB,CAAC;AAE/D,6DAA6D;AAC7D,qBAAa,WAAY,SAAQ,UAAU;IACzC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,wBAAwB,GAAG,KAAK,EAAE;IAchF,eAAe,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAC;IAgCpF,kBAAkB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,CAAC,wBAAwB,CAAC;CA6BvF"}
|