@antv/l7-layers 2.15.5 → 2.16.1
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/es/Geometry/index.js +31 -9
- package/es/Geometry/models/billboard.js +89 -51
- package/es/Geometry/models/plane.js +143 -81
- package/es/Geometry/models/sprite.js +118 -60
- package/es/canvas/index.js +33 -10
- package/es/canvas/models/canvas.js +97 -41
- package/es/citybuliding/building.js +27 -8
- package/es/citybuliding/models/build.js +82 -57
- package/es/core/BaseLayer.js +486 -321
- package/es/core/BaseModel.js +126 -97
- package/es/core/LayerPickService.js +32 -21
- package/es/core/TextureService.js +13 -0
- package/es/core/interface.js +24 -17
- package/es/core/shape/Path.js +20 -13
- package/es/core/shape/extrude.js +31 -10
- package/es/core/triangulation.js +114 -54
- package/es/earth/index.js +33 -9
- package/es/earth/models/atmosphere.js +54 -30
- package/es/earth/models/base.js +85 -47
- package/es/earth/models/bloomsphere.js +54 -30
- package/es/earth/utils.js +13 -9
- package/es/heatmap/index.js +40 -10
- package/es/heatmap/models/grid.js +52 -28
- package/es/heatmap/models/grid3d.js +52 -28
- package/es/heatmap/models/heatmap.js +146 -91
- package/es/heatmap/models/hexagon.js +52 -28
- package/es/heatmap/triangulation.js +4 -0
- package/es/image/index.js +28 -9
- package/es/image/models/image.js +100 -66
- package/es/index.js +17 -9
- package/es/line/index.js +34 -9
- package/es/line/models/arc.js +118 -66
- package/es/line/models/arc_3d.js +108 -60
- package/es/line/models/earthArc_3d.js +111 -63
- package/es/line/models/great_circle.js +100 -56
- package/es/line/models/half.js +77 -46
- package/es/line/models/line.js +148 -94
- package/es/line/models/linearline.js +80 -45
- package/es/line/models/simpleLine.js +74 -41
- package/es/line/models/wall.js +92 -52
- package/es/mask/index.js +28 -9
- package/es/mask/models/fill.js +54 -29
- package/es/plugins/DataMappingPlugin.js +117 -80
- package/es/plugins/DataSourcePlugin.js +68 -45
- package/es/plugins/FeatureScalePlugin.js +122 -67
- package/es/plugins/LayerAnimateStylePlugin.js +5 -0
- package/es/plugins/LayerMaskPlugin.js +11 -3
- package/es/plugins/LayerModelPlugin.js +104 -67
- package/es/plugins/LayerStylePlugin.js +9 -3
- package/es/plugins/LightingPlugin.js +18 -12
- package/es/plugins/MultiPassRendererPlugin.js +16 -11
- package/es/plugins/PixelPickingPlugin.js +21 -12
- package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
- package/es/plugins/ShaderUniformPlugin.js +27 -13
- package/es/plugins/UpdateModelPlugin.js +5 -0
- package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
- package/es/point/index.js +77 -26
- package/es/point/models/earthExtrude.js +102 -61
- package/es/point/models/earthFill.js +87 -57
- package/es/point/models/extrude.js +101 -60
- package/es/point/models/fill.js +100 -70
- package/es/point/models/fillmage.js +107 -63
- package/es/point/models/image.js +88 -48
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +54 -30
- package/es/point/models/radar.js +64 -40
- package/es/point/models/simplePoint.js +69 -41
- package/es/point/models/text.d.ts +2 -1
- package/es/point/models/text.js +305 -201
- package/es/point/shape/extrude.js +13 -4
- package/es/polygon/index.js +40 -11
- package/es/polygon/models/extrude.js +92 -48
- package/es/polygon/models/fill.js +88 -54
- package/es/polygon/models/index.js +2 -3
- package/es/polygon/models/ocean.js +76 -42
- package/es/polygon/models/water.js +71 -37
- package/es/raster/buffers/triangulation.js +4 -2
- package/es/raster/index.js +32 -9
- package/es/raster/models/raster.js +116 -80
- package/es/raster/models/rasterRgb.js +127 -84
- package/es/raster/models/rasterTerrainRgb.js +84 -56
- package/es/tile/interaction/getRasterData.js +20 -14
- package/es/tile/interaction/utils.js +9 -7
- package/es/tile/manager/base.js +96 -63
- package/es/tile/service/TileLayerService.js +55 -33
- package/es/tile/service/TilePickService.js +40 -26
- package/es/tile/service/TileSourceService.js +7 -3
- package/es/tile/tileFactory/DebugTile.js +46 -29
- package/es/tile/tileFactory/ImageTile.js +38 -20
- package/es/tile/tileFactory/MaskTile.js +43 -22
- package/es/tile/tileFactory/RasterRGBTile.js +42 -22
- package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
- package/es/tile/tileFactory/RasterTile.js +53 -30
- package/es/tile/tileFactory/Tile.js +97 -63
- package/es/tile/tileFactory/VectorTile.js +68 -41
- package/es/tile/tileFactory/index.js +11 -0
- package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
- package/es/tile/tileFactory/util.js +3 -0
- package/es/tile/tileLayer/BaseLayer.js +146 -105
- package/es/tile/utils.js +1 -1
- package/es/utils/blend.js +2 -0
- package/es/utils/collision-index.js +16 -9
- package/es/utils/dataMappingStyle.js +18 -8
- package/es/utils/extrude_polyline.js +149 -101
- package/es/utils/grid-index.js +27 -2
- package/es/utils/identityScale.js +8 -0
- package/es/utils/layerData.js +44 -30
- package/es/utils/multiPassRender.js +13 -11
- package/es/utils/polylineNormal.js +37 -31
- package/es/utils/simpleLine.js +16 -2
- package/es/utils/stencil.js +3 -2
- package/es/utils/symbol-layout.js +53 -27
- package/es/wind/index.js +29 -9
- package/es/wind/models/utils.js +51 -26
- package/es/wind/models/wind.js +147 -101
- package/es/wind/models/windRender.js +66 -53
- package/lib/Geometry/index.js +38 -9
- package/lib/Geometry/models/billboard.js +97 -51
- package/lib/Geometry/models/index.js +5 -0
- package/lib/Geometry/models/plane.js +151 -79
- package/lib/Geometry/models/sprite.js +127 -60
- package/lib/canvas/index.js +40 -10
- package/lib/canvas/models/canvas.js +101 -41
- package/lib/canvas/models/index.js +3 -0
- package/lib/citybuliding/building.js +35 -8
- package/lib/citybuliding/models/build.js +92 -57
- package/lib/core/BaseLayer.js +480 -321
- package/lib/core/BaseModel.js +139 -97
- package/lib/core/LayerPickService.js +37 -21
- package/lib/core/TextureService.js +16 -0
- package/lib/core/interface.js +31 -21
- package/lib/core/schema.js +1 -0
- package/lib/core/shape/Path.js +31 -14
- package/lib/core/shape/extrude.js +54 -10
- package/lib/core/triangulation.js +153 -53
- package/lib/earth/index.js +43 -9
- package/lib/earth/models/atmosphere.js +63 -30
- package/lib/earth/models/base.js +90 -47
- package/lib/earth/models/bloomsphere.js +63 -30
- package/lib/earth/utils.js +31 -7
- package/lib/heatmap/index.js +48 -10
- package/lib/heatmap/models/grid.js +60 -28
- package/lib/heatmap/models/grid3d.js +60 -28
- package/lib/heatmap/models/heatmap.js +162 -91
- package/lib/heatmap/models/hexagon.js +60 -28
- package/lib/heatmap/models/index.js +6 -0
- package/lib/heatmap/triangulation.js +5 -0
- package/lib/image/index.js +36 -9
- package/lib/image/models/image.js +109 -66
- package/lib/image/models/index.js +3 -0
- package/lib/index.js +61 -7
- package/lib/line/index.js +40 -9
- package/lib/line/models/arc.js +128 -64
- package/lib/line/models/arc_3d.js +119 -58
- package/lib/line/models/earthArc_3d.js +122 -61
- package/lib/line/models/great_circle.js +111 -56
- package/lib/line/models/half.js +87 -46
- package/lib/line/models/index.js +11 -0
- package/lib/line/models/line.js +156 -92
- package/lib/line/models/linearline.js +92 -45
- package/lib/line/models/simpleLine.js +84 -41
- package/lib/line/models/wall.js +103 -52
- package/lib/mask/index.js +36 -9
- package/lib/mask/models/fill.js +63 -29
- package/lib/mask/models/index.js +3 -0
- package/lib/plugins/DataMappingPlugin.js +128 -80
- package/lib/plugins/DataSourcePlugin.js +76 -45
- package/lib/plugins/FeatureScalePlugin.js +138 -67
- package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
- package/lib/plugins/LayerMaskPlugin.js +17 -4
- package/lib/plugins/LayerModelPlugin.js +113 -68
- package/lib/plugins/LayerStylePlugin.js +14 -4
- package/lib/plugins/LightingPlugin.js +25 -12
- package/lib/plugins/MultiPassRendererPlugin.js +22 -11
- package/lib/plugins/PixelPickingPlugin.js +27 -12
- package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
- package/lib/plugins/ShaderUniformPlugin.js +34 -13
- package/lib/plugins/UpdateModelPlugin.js +10 -1
- package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
- package/lib/point/index.js +83 -26
- package/lib/point/models/earthExtrude.js +113 -61
- package/lib/point/models/earthFill.js +117 -57
- package/lib/point/models/extrude.js +111 -60
- package/lib/point/models/fill.js +109 -68
- package/lib/point/models/fillmage.js +115 -61
- package/lib/point/models/image.js +98 -48
- package/lib/point/models/index.js +12 -1
- package/lib/point/models/normal.js +64 -30
- package/lib/point/models/radar.js +74 -40
- package/lib/point/models/simplePoint.js +79 -41
- package/lib/point/models/text.js +314 -202
- package/lib/point/shape/extrude.js +20 -4
- package/lib/polygon/index.js +48 -11
- package/lib/polygon/models/extrude.js +103 -48
- package/lib/polygon/models/fill.js +98 -54
- package/lib/polygon/models/index.js +14 -2
- package/lib/polygon/models/ocean.js +88 -42
- package/lib/polygon/models/water.js +82 -37
- package/lib/raster/buffers/triangulation.js +7 -3
- package/lib/raster/index.js +40 -9
- package/lib/raster/models/index.js +5 -0
- package/lib/raster/models/raster.js +125 -80
- package/lib/raster/models/rasterRgb.js +139 -84
- package/lib/raster/models/rasterTerrainRgb.js +93 -56
- package/lib/tile/interaction/getRasterData.js +25 -14
- package/lib/tile/interaction/utils.js +19 -7
- package/lib/tile/manager/base.js +104 -63
- package/lib/tile/service/TileLayerService.js +60 -33
- package/lib/tile/service/TilePickService.js +48 -26
- package/lib/tile/service/TileSourceService.js +16 -2
- package/lib/tile/style/utils.js +3 -0
- package/lib/tile/tileFactory/DebugTile.js +54 -29
- package/lib/tile/tileFactory/ImageTile.js +46 -20
- package/lib/tile/tileFactory/MaskTile.js +51 -22
- package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
- package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
- package/lib/tile/tileFactory/RasterTile.js +63 -30
- package/lib/tile/tileFactory/Tile.js +102 -63
- package/lib/tile/tileFactory/VectorTile.js +76 -41
- package/lib/tile/tileFactory/index.js +25 -0
- package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
- package/lib/tile/tileFactory/util.js +9 -0
- package/lib/tile/tileLayer/BaseLayer.js +153 -105
- package/lib/tile/utils.js +5 -1
- package/lib/utils/blend.js +5 -0
- package/lib/utils/collision-index.js +25 -9
- package/lib/utils/dataMappingStyle.js +19 -8
- package/lib/utils/extrude_polyline.js +181 -101
- package/lib/utils/grid-index.js +28 -2
- package/lib/utils/identityScale.js +9 -0
- package/lib/utils/layerData.js +49 -30
- package/lib/utils/multiPassRender.js +16 -11
- package/lib/utils/polylineNormal.js +66 -31
- package/lib/utils/simpleLine.js +21 -2
- package/lib/utils/stencil.js +4 -0
- package/lib/utils/symbol-layout.js +55 -27
- package/lib/wind/index.js +37 -9
- package/lib/wind/models/index.js +3 -0
- package/lib/wind/models/utils.js +62 -26
- package/lib/wind/models/wind.js +157 -101
- package/lib/wind/models/windRender.js +71 -53
- package/lib/wind/models/windShader.js +1 -0
- package/package.json +7 -7
|
@@ -1,54 +1,78 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
9
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
10
14
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
15
|
+
|
|
11
16
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
17
|
+
|
|
12
18
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
+
|
|
13
20
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
+
|
|
14
22
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
+
|
|
15
24
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
+
|
|
16
26
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
+
|
|
17
28
|
var _l7Core = require("@antv/l7-core");
|
|
29
|
+
|
|
18
30
|
var _lodash = require("lodash");
|
|
31
|
+
|
|
19
32
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
33
|
+
|
|
20
34
|
var _triangulation = require("../../core/triangulation");
|
|
35
|
+
|
|
21
36
|
var _glMatrix = require("gl-matrix");
|
|
37
|
+
|
|
22
38
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
39
|
+
|
|
23
40
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
|
+
|
|
24
42
|
/* babel-plugin-inline-import '../shaders/earth/fill_frag.glsl' */
|
|
25
43
|
var pointFillFrag = "uniform float u_additive;\n\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\n\nvoid main() {\n int shape = int(floor(v_data.w + 0.5));\n\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n float opacity = styleMappingMat[0][0];\n float stroke_opacity = styleMappingMat[0][1];\n float strokeWidth = styleMappingMat[0][2];\n vec4 strokeColor = textrueStroke == vec4(0) ? v_color : textrueStroke;\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius + strokeWidth);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n if (shape == 0) {\n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n } else if (shape == 1) {\n outer_df = sdEquilateralTriangle(1.1 * v_data.xy);\n inner_df = sdEquilateralTriangle(1.1 / r * v_data.xy);\n } else if (shape == 2) {\n outer_df = sdBox(v_data.xy, vec2(1.));\n inner_df = sdBox(v_data.xy, vec2(r));\n } else if (shape == 3) {\n outer_df = sdPentagon(v_data.xy, 0.8);\n inner_df = sdPentagon(v_data.xy, r * 0.8);\n } else if (shape == 4) {\n outer_df = sdHexagon(v_data.xy, 0.8);\n inner_df = sdHexagon(v_data.xy, r * 0.8);\n } else if (shape == 5) {\n outer_df = sdOctogon(v_data.xy, 1.0);\n inner_df = sdOctogon(v_data.xy, r);\n } else if (shape == 6) {\n outer_df = sdHexagram(v_data.xy, 0.52);\n inner_df = sdHexagram(v_data.xy, r * 0.52);\n } else if (shape == 7) {\n outer_df = sdRhombus(v_data.xy, vec2(1.0));\n inner_df = sdRhombus(v_data.xy, vec2(r));\n } else if (shape == 8) {\n outer_df = sdVesica(v_data.xy, 1.1, 0.8);\n inner_df = sdVesica(v_data.xy, r * 1.1, r * 0.8);\n }\n\n if(outer_df > antialiasblur + 0.018) discard;\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = strokeWidth < 0.01 ? 0.0 : smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n\n if(strokeWidth < 0.01) {\n gl_FragColor = vec4(v_color.rgb, v_color.a * opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), strokeColor * stroke_opacity, color_t);\n }\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor.a *= opacity_t;\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n";
|
|
44
|
+
|
|
26
45
|
/* babel-plugin-inline-import '../shaders/earth/fill_vert.glsl' */
|
|
27
46
|
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\nuniform float u_opacity : 1;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\nuniform vec2 u_offsets;\n\nuniform float u_blur : 0.0;\n\n#pragma include \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n /*\n * setPickingSize \u8BBE\u7F6E\u62FE\u53D6\u5927\u5C0F\n */\n float newSize = setPickingSize(a_Size);\n // float newSize = setPickingSize(a_Size) * 0.00001038445708445579;\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 strokeOpacityAndOffset = calStrokeOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][1] = strokeOpacityAndOffset.r;\n textureOffset = strokeOpacityAndOffset.g;\n\n vec2 strokeWidthAndOffset = calStrokeWidthAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][2] = strokeWidthAndOffset.r;\n textureOffset = strokeWidthAndOffset.g;\n\n vec4 textrueStroke = vec4(-1.0, -1.0, -1.0, -1.0);\n if(hasStroke()) {\n vec2 valueRPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][0] = pos2value(valueRPos, columnWidth, rowHeight); // R\n textureOffset += 1.0;\n\n vec2 valueGPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][1] = pos2value(valueGPos, columnWidth, rowHeight); // G\n textureOffset += 1.0;\n\n vec2 valueBPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][2] = pos2value(valueBPos, columnWidth, rowHeight); // B\n textureOffset += 1.0;\n\n vec2 valueAPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][3] = pos2value(valueAPos, columnWidth, rowHeight); // A\n textureOffset += 1.0;\n } else {\n if(u_stroke_color == vec4(0.0)) {\n styleMappingMat[1][0] = v_color.r;\n styleMappingMat[1][1] = v_color.g;\n styleMappingMat[1][2] = v_color.b;\n styleMappingMat[1][3] = v_color.a;\n } else {\n styleMappingMat[1][0] = u_stroke_color.r;\n styleMappingMat[1][1] = u_stroke_color.g;\n styleMappingMat[1][2] = u_stroke_color.b;\n styleMappingMat[1][3] = u_stroke_color.a;\n }\n }\n\n // cal style mapping\n\n // unpack color(vec2)\n v_color = a_Color;\n\n // radius(16-bit)\n v_radius = newSize;\n\n // anti-alias\n // float antialiased_blur = -max(u_blur, antialiasblur);\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / newSize, u_blur);\n\n // TODP: /abs(extrude.x) \u662F\u4E3A\u4E86\u517C\u5BB9\u5730\u7403\u6A21\u5F0F\n v_data = vec4(extrude.x/abs(extrude.x), extrude.y/abs(extrude.y), antialiasblur,shape_type);\n\n\n gl_Position = u_ViewProjectionMatrix * vec4(a_Position + extrude * newSize * 0.1, 1.0);\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
47
|
+
|
|
28
48
|
var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
29
49
|
(0, _inherits2.default)(FillModel, _BaseModel);
|
|
50
|
+
|
|
30
51
|
var _super = _createSuper(FillModel);
|
|
52
|
+
|
|
31
53
|
function FillModel() {
|
|
32
54
|
(0, _classCallCheck2.default)(this, FillModel);
|
|
33
55
|
return _super.apply(this, arguments);
|
|
34
56
|
}
|
|
57
|
+
|
|
35
58
|
(0, _createClass2.default)(FillModel, [{
|
|
36
59
|
key: "getUninforms",
|
|
37
60
|
value: function getUninforms() {
|
|
38
61
|
var _ref = this.layer.getLayerConfig(),
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
62
|
+
_ref$opacity = _ref.opacity,
|
|
63
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
64
|
+
_ref$strokeOpacity = _ref.strokeOpacity,
|
|
65
|
+
strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
|
|
66
|
+
_ref$strokeWidth = _ref.strokeWidth,
|
|
67
|
+
strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
|
|
68
|
+
_ref$stroke = _ref.stroke,
|
|
69
|
+
stroke = _ref$stroke === void 0 ? 'rgba(0,0,0,0)' : _ref$stroke,
|
|
70
|
+
_ref$offsets = _ref.offsets,
|
|
71
|
+
offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
|
|
72
|
+
blend = _ref.blend,
|
|
73
|
+
_ref$blur = _ref.blur,
|
|
74
|
+
blur = _ref$blur === void 0 ? 0 : _ref$blur;
|
|
75
|
+
|
|
52
76
|
if (this.dataTextureTest && this.dataTextureNeedUpdate({
|
|
53
77
|
opacity: opacity,
|
|
54
78
|
strokeOpacity: strokeOpacity,
|
|
@@ -65,10 +89,12 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
65
89
|
offsets: offsets
|
|
66
90
|
});
|
|
67
91
|
var encodeData = this.layer.getEncodedData();
|
|
92
|
+
|
|
68
93
|
var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
94
|
+
data = _this$calDataFrame.data,
|
|
95
|
+
width = _this$calDataFrame.width,
|
|
96
|
+
height = _this$calDataFrame.height;
|
|
97
|
+
|
|
72
98
|
this.rowCount = height; // 当前数据纹理有多少行
|
|
73
99
|
|
|
74
100
|
this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
|
|
@@ -87,6 +113,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
87
113
|
height: 1
|
|
88
114
|
});
|
|
89
115
|
}
|
|
116
|
+
|
|
90
117
|
return {
|
|
91
118
|
u_blur: blur,
|
|
92
119
|
u_additive: blend === 'additive' ? 1.0 : 0.0,
|
|
@@ -104,10 +131,11 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
104
131
|
key: "getAnimateUniforms",
|
|
105
132
|
value: function getAnimateUniforms() {
|
|
106
133
|
var _ref2 = this.layer.getLayerConfig(),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
134
|
+
_ref2$animateOption = _ref2.animateOption,
|
|
135
|
+
animateOption = _ref2$animateOption === void 0 ? {
|
|
136
|
+
enable: false
|
|
137
|
+
} : _ref2$animateOption;
|
|
138
|
+
|
|
111
139
|
return {
|
|
112
140
|
u_animate: this.animateOption2Array(animateOption),
|
|
113
141
|
u_time: this.layer.getLayerAnimateTime()
|
|
@@ -118,18 +146,23 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
118
146
|
value: function () {
|
|
119
147
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
120
148
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
121
|
-
while (1)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
149
|
+
while (1) {
|
|
150
|
+
switch (_context.prev = _context.next) {
|
|
151
|
+
case 0:
|
|
152
|
+
return _context.abrupt("return", this.buildModels());
|
|
153
|
+
|
|
154
|
+
case 1:
|
|
155
|
+
case "end":
|
|
156
|
+
return _context.stop();
|
|
157
|
+
}
|
|
127
158
|
}
|
|
128
159
|
}, _callee, this);
|
|
129
160
|
}));
|
|
161
|
+
|
|
130
162
|
function initModels() {
|
|
131
163
|
return _initModels.apply(this, arguments);
|
|
132
164
|
}
|
|
165
|
+
|
|
133
166
|
return initModels;
|
|
134
167
|
}()
|
|
135
168
|
}, {
|
|
@@ -138,42 +171,48 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
138
171
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
139
172
|
var model;
|
|
140
173
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
141
|
-
while (1)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
174
|
+
while (1) {
|
|
175
|
+
switch (_context2.prev = _context2.next) {
|
|
176
|
+
case 0:
|
|
177
|
+
this.layer.triangulation = _triangulation.GlobelPointFillTriangulation;
|
|
178
|
+
_context2.next = 3;
|
|
179
|
+
return this.layer.buildLayerModel({
|
|
180
|
+
moduleName: 'pointEarthFill',
|
|
181
|
+
vertexShader: pointFillVert,
|
|
182
|
+
fragmentShader: pointFillFrag,
|
|
183
|
+
triangulation: _triangulation.GlobelPointFillTriangulation,
|
|
184
|
+
depth: {
|
|
185
|
+
enable: true
|
|
186
|
+
},
|
|
187
|
+
blend: this.getBlend()
|
|
188
|
+
});
|
|
189
|
+
|
|
190
|
+
case 3:
|
|
191
|
+
model = _context2.sent;
|
|
192
|
+
return _context2.abrupt("return", [model]);
|
|
193
|
+
|
|
194
|
+
case 5:
|
|
195
|
+
case "end":
|
|
196
|
+
return _context2.stop();
|
|
197
|
+
}
|
|
161
198
|
}
|
|
162
199
|
}, _callee2, this);
|
|
163
200
|
}));
|
|
201
|
+
|
|
164
202
|
function buildModels() {
|
|
165
203
|
return _buildModels.apply(this, arguments);
|
|
166
204
|
}
|
|
205
|
+
|
|
167
206
|
return buildModels;
|
|
168
207
|
}()
|
|
169
208
|
}, {
|
|
170
209
|
key: "clearModels",
|
|
171
210
|
value: function clearModels() {
|
|
172
211
|
var _this$dataTexture;
|
|
212
|
+
|
|
173
213
|
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
174
|
-
}
|
|
214
|
+
} // overwrite baseModel func
|
|
175
215
|
|
|
176
|
-
// overwrite baseModel func
|
|
177
216
|
}, {
|
|
178
217
|
key: "animateOption2Array",
|
|
179
218
|
value: function animateOption2Array(option) {
|
|
@@ -183,6 +222,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
183
222
|
key: "registerBuiltinAttributes",
|
|
184
223
|
value: function registerBuiltinAttributes() {
|
|
185
224
|
var _this = this;
|
|
225
|
+
|
|
186
226
|
this.styleAttributeService.registerStyleAttribute({
|
|
187
227
|
name: 'extrude',
|
|
188
228
|
type: _l7Core.AttributeType.Attribute,
|
|
@@ -197,36 +237,54 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
197
237
|
size: 3,
|
|
198
238
|
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
199
239
|
var _vertex = (0, _slicedToArray2.default)(vertex, 3),
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
240
|
+
x = _vertex[0],
|
|
241
|
+
y = _vertex[1],
|
|
242
|
+
z = _vertex[2];
|
|
243
|
+
|
|
203
244
|
var n1 = _glMatrix.vec3.fromValues(0, 0, 1);
|
|
245
|
+
|
|
204
246
|
var n2 = _glMatrix.vec3.fromValues(x, 0, z);
|
|
247
|
+
|
|
205
248
|
var xzReg = x >= 0 ? _glMatrix.vec3.angle(n1, n2) : Math.PI * 2 - _glMatrix.vec3.angle(n1, n2);
|
|
206
249
|
var yReg = Math.PI * 2 - Math.asin(y / 100);
|
|
250
|
+
|
|
207
251
|
var m = _glMatrix.mat4.create();
|
|
252
|
+
|
|
208
253
|
_glMatrix.mat4.rotateY(m, m, xzReg);
|
|
254
|
+
|
|
209
255
|
_glMatrix.mat4.rotateX(m, m, yReg);
|
|
256
|
+
|
|
210
257
|
var v1 = _glMatrix.vec3.fromValues(1, 1, 0);
|
|
258
|
+
|
|
211
259
|
_glMatrix.vec3.transformMat4(v1, v1, m);
|
|
260
|
+
|
|
212
261
|
_glMatrix.vec3.normalize(v1, v1);
|
|
262
|
+
|
|
213
263
|
var v2 = _glMatrix.vec3.fromValues(-1, 1, 0);
|
|
264
|
+
|
|
214
265
|
_glMatrix.vec3.transformMat4(v2, v2, m);
|
|
266
|
+
|
|
215
267
|
_glMatrix.vec3.normalize(v2, v2);
|
|
268
|
+
|
|
216
269
|
var v3 = _glMatrix.vec3.fromValues(-1, -1, 0);
|
|
270
|
+
|
|
217
271
|
_glMatrix.vec3.transformMat4(v3, v3, m);
|
|
272
|
+
|
|
218
273
|
_glMatrix.vec3.normalize(v3, v3);
|
|
274
|
+
|
|
219
275
|
var v4 = _glMatrix.vec3.fromValues(1, -1, 0);
|
|
276
|
+
|
|
220
277
|
_glMatrix.vec3.transformMat4(v4, v4, m);
|
|
278
|
+
|
|
221
279
|
_glMatrix.vec3.normalize(v4, v4);
|
|
280
|
+
|
|
222
281
|
var extrude = [].concat((0, _toConsumableArray2.default)(v1), (0, _toConsumableArray2.default)(v2), (0, _toConsumableArray2.default)(v3), (0, _toConsumableArray2.default)(v4));
|
|
223
282
|
var extrudeIndex = attributeIdx % 4 * 3;
|
|
224
283
|
return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
|
|
225
284
|
}
|
|
226
285
|
}
|
|
227
|
-
});
|
|
286
|
+
}); // point layer size;
|
|
228
287
|
|
|
229
|
-
// point layer size;
|
|
230
288
|
this.styleAttributeService.registerStyleAttribute({
|
|
231
289
|
name: 'size',
|
|
232
290
|
type: _l7Core.AttributeType.Attribute,
|
|
@@ -241,13 +299,12 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
241
299
|
size: 1,
|
|
242
300
|
update: function update(feature) {
|
|
243
301
|
var _feature$size = feature.size,
|
|
244
|
-
|
|
302
|
+
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
245
303
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
246
304
|
}
|
|
247
305
|
}
|
|
248
|
-
});
|
|
306
|
+
}); // point layer size;
|
|
249
307
|
|
|
250
|
-
// point layer size;
|
|
251
308
|
this.styleAttributeService.registerStyleAttribute({
|
|
252
309
|
name: 'shape',
|
|
253
310
|
type: _l7Core.AttributeType.Attribute,
|
|
@@ -262,8 +319,10 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
262
319
|
size: 1,
|
|
263
320
|
update: function update(feature) {
|
|
264
321
|
var _feature$shape = feature.shape,
|
|
265
|
-
|
|
322
|
+
shape = _feature$shape === void 0 ? 2 : _feature$shape;
|
|
323
|
+
|
|
266
324
|
var shape2d = _this.layer.getLayerConfig().shape2d;
|
|
325
|
+
|
|
267
326
|
var shapeIndex = shape2d.indexOf(shape);
|
|
268
327
|
return [shapeIndex];
|
|
269
328
|
}
|
|
@@ -273,4 +332,5 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
273
332
|
}]);
|
|
274
333
|
return FillModel;
|
|
275
334
|
}(_BaseModel2.default);
|
|
335
|
+
|
|
276
336
|
exports.default = FillModel;
|