@antv/l7-layers 2.17.2 → 2.17.4
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 +478 -313
- package/es/core/BaseModel.js +80 -51
- package/es/core/CommonStyleAttribute.js +5 -2
- 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 +39 -27
- package/es/core/triangulation.js +136 -99
- 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 +149 -92
- 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 +35 -9
- package/es/line/models/arc.js +114 -64
- package/es/line/models/arc_3d.js +102 -58
- package/es/line/models/earthArc_3d.js +105 -60
- package/es/line/models/flow.js +60 -36
- package/es/line/models/great_circle.js +94 -53
- package/es/line/models/line.js +138 -86
- package/es/line/models/linearline.js +76 -43
- package/es/line/models/simpleLine.js +69 -39
- 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 +114 -78
- 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 +108 -69
- 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 +78 -26
- package/es/point/models/earthExtrude.js +95 -58
- package/es/point/models/earthFill.js +80 -52
- package/es/point/models/extrude.js +94 -57
- package/es/point/models/fill.js +81 -56
- package/es/point/models/fillmage.js +100 -60
- package/es/point/models/image.js +83 -47
- package/es/point/models/index.js +2 -2
- package/es/point/models/normal.js +54 -30
- package/es/point/models/radar.js +63 -38
- package/es/point/models/simplePoint.js +62 -38
- package/es/point/models/text.js +296 -199
- package/es/point/shape/extrude.js +13 -4
- package/es/polygon/index.js +41 -11
- package/es/polygon/models/extrude.js +135 -87
- package/es/polygon/models/fill.js +79 -50
- 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/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 +469 -313
- package/lib/core/BaseModel.js +90 -51
- package/lib/core/CommonStyleAttribute.js +7 -2
- 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 +62 -27
- package/lib/core/triangulation.js +177 -98
- 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 +166 -92
- 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 +124 -62
- package/lib/line/models/arc_3d.js +113 -56
- package/lib/line/models/earthArc_3d.js +115 -58
- package/lib/line/models/flow.js +70 -36
- package/lib/line/models/great_circle.js +104 -53
- package/lib/line/models/index.js +11 -0
- package/lib/line/models/line.js +146 -84
- package/lib/line/models/linearline.js +88 -43
- package/lib/line/models/simpleLine.js +79 -39
- 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 +125 -78
- 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 +117 -70
- 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 +106 -58
- package/lib/point/models/earthFill.js +110 -52
- package/lib/point/models/extrude.js +103 -57
- package/lib/point/models/fill.js +90 -54
- package/lib/point/models/fillmage.js +107 -58
- package/lib/point/models/image.js +92 -47
- package/lib/point/models/index.js +12 -1
- package/lib/point/models/normal.js +64 -30
- package/lib/point/models/radar.js +72 -38
- package/lib/point/models/simplePoint.js +72 -38
- package/lib/point/models/text.js +305 -199
- package/lib/point/shape/extrude.js +20 -4
- package/lib/polygon/index.js +48 -11
- package/lib/polygon/models/extrude.js +146 -87
- package/lib/polygon/models/fill.js +89 -50
- 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/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
|
@@ -7,70 +7,89 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
|
|
|
7
7
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
9
9
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
10
|
+
|
|
10
11
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
12
|
+
|
|
11
13
|
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; } }
|
|
14
|
+
|
|
12
15
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
13
16
|
import { calculateCentroid, getCullFace, rgb2arr } from '@antv/l7-utils';
|
|
14
17
|
import BaseModel from "../../core/BaseModel";
|
|
15
18
|
import { PointExtrudeTriangulation } from "../../core/triangulation";
|
|
19
|
+
|
|
16
20
|
/* babel-plugin-inline-import '../shaders/extrude/extrude_frag.glsl' */
|
|
17
21
|
var pointExtrudeFrag = "varying vec4 v_color;\nvarying float v_lightWeight;\nuniform float u_pickLight: 0.0;\n\n#pragma include \"picking\"\n\n\nvoid main() {\n\n gl_FragColor = v_color;\n // \u5F00\u542F\u900F\u660E\u5EA6\u6E10\u53D8\n // picking\n if(u_pickLight > 0.0) {\n gl_FragColor = filterColorAlpha(gl_FragColor, v_lightWeight);\n } else {\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n";
|
|
22
|
+
|
|
18
23
|
/* babel-plugin-inline-import '../shaders/extrude/extrude_vert.glsl' */
|
|
19
24
|
var pointExtrudeVert = "precision highp float;\n\n#define pi 3.1415926535\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec3 a_Position;\nattribute vec3 a_Pos;\nattribute vec4 a_Color;\nattribute vec3 a_Size;\nattribute vec3 a_Normal;\n\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_r;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\nvarying float v_lightWeight;\nvarying float v_barLinearZ;\n\nuniform float u_opacity : 1;\nuniform float u_lightEnable: 1;\nuniform float u_opacitylinear: 0.0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_opacitylinear_dir: 1.0;\nuniform float u_linearColor: 0.0;\n\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\nfloat getYRadian(float x, float z) {\n if(x > 0.0 && z > 0.0) {\n return atan(x/z);\n } else if(x > 0.0 && z <= 0.0){\n return atan(-z/x) + pi/2.0;\n } else if(x <= 0.0 && z <= 0.0) {\n return pi + atan(x/z); //atan(x/z) + \n } else {\n return atan(z/-x) + pi*3.0/2.0;\n }\n}\n\nfloat getXRadian(float y, float r) {\n return atan(y/r);\n}\n\nvoid main() {\n\n\n vec3 size = a_Size * a_Position;\n\n vec3 offset = size; // \u63A7\u5236\u5706\u67F1\u4F53\u7684\u5927\u5C0F - \u4ECE\u6807\u51C6\u5355\u4F4D\u5706\u67F1\u4F53\u8FDB\u884C\u504F\u79FB\n\n if(u_heightfixed < 1.0) { // \u5706\u67F1\u4F53\u4E0D\u56FA\u5B9A\u9AD8\u5EA6\n \n if (u_CoordinateSystem == COORDINATE_SYSTEM_P20 || u_CoordinateSystem == COORDINATE_SYSTEM_P20_OFFSET) {\n // P20 \u5750\u6807\u7CFB\u4E0B\uFF0C\u4E3A\u4E86\u548C Web \u58A8\u5361\u6258\u5750\u6807\u7CFB\u7EDF\u4E00\uFF0Czoom \u9ED8\u8BA4\u51CF1\n offset = offset * pow(2.0, (19.0 - u_Zoom));\n }\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) {\n // P20_2 \u5750\u6807\u7CFB\u4E0B\uFF0C\u4E3A\u4E86\u548C Web \u58A8\u5361\u6258\u5750\u6807\u7CFB\u7EDF\u4E00\uFF0Czoom \u9ED8\u8BA4\u51CF3\n offset = offset * pow(2.0, (19.0 - 3.0 - u_Zoom));\n }\n } else {// \u5706\u67F1\u4F53\u56FA\u5B9A\u9AD8\u5EA6 \uFF08 \u5904\u7406 mapbox \uFF09\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n offset *= 4.0/pow(2.0, 21.0 - u_Zoom);\n }\n }\n\n\n vec4 project_pos = project_position(vec4(a_Pos.xy, 0., 1.0));\n\n // u_r \u63A7\u5236\u5706\u67F1\u7684\u751F\u957F\n vec4 pos = vec4(project_pos.xy + offset.xy, offset.z * u_r, 1.0);\n\n // // \u5706\u67F1\u5149\u7167\u6548\u679C\n float lightWeight = 1.0;\n\n if(u_lightEnable > 0.0) { // \u53D6\u6D88\u4E09\u5143\u8868\u8FBE\u5F0F\uFF0C\u589E\u5F3A\u5065\u58EE\u6027\n lightWeight = calc_lighting(pos);\n }\n\n v_lightWeight = lightWeight;\n\n v_color = a_Color;\n\n // \u8BBE\u7F6E\u5706\u67F1\u7684\u5E95\u8272\n if(u_linearColor == 1.0) { // \u4F7F\u7528\u6E10\u53D8\u989C\u8272\n v_color = mix(u_sourceColor, u_targetColor, a_Position.z);\n v_color.a = v_color.a * u_opacity;\n } else {\n v_color = vec4(a_Color.rgb * lightWeight, a_Color.w * u_opacity);\n }\n\n if(u_opacitylinear > 0.0) {\n v_color.a *= u_opacitylinear_dir > 0.0 ? (1.0 - a_Position.z): a_Position.z;\n }\n\n\n // gl_Position = project_common_position_to_clipspace(pos);\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * pos;\n } else {\n gl_Position = project_common_position_to_clipspace(pos);\n }\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
25
|
+
|
|
20
26
|
var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
21
27
|
_inherits(ExtrudeModel, _BaseModel);
|
|
28
|
+
|
|
22
29
|
var _super = _createSuper(ExtrudeModel);
|
|
30
|
+
|
|
23
31
|
function ExtrudeModel() {
|
|
24
32
|
var _this;
|
|
33
|
+
|
|
25
34
|
_classCallCheck(this, ExtrudeModel);
|
|
35
|
+
|
|
26
36
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
27
37
|
args[_key] = arguments[_key];
|
|
28
38
|
}
|
|
39
|
+
|
|
29
40
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
41
|
+
|
|
30
42
|
_defineProperty(_assertThisInitialized(_this), "raiseCount", 0);
|
|
43
|
+
|
|
31
44
|
_defineProperty(_assertThisInitialized(_this), "raiseRepeat", 0);
|
|
45
|
+
|
|
32
46
|
return _this;
|
|
33
47
|
}
|
|
48
|
+
|
|
34
49
|
_createClass(ExtrudeModel, [{
|
|
35
50
|
key: "getUninforms",
|
|
36
51
|
value: function getUninforms() {
|
|
37
52
|
var _ref = this.layer.getLayerConfig(),
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
53
|
+
_ref$animateOption = _ref.animateOption,
|
|
54
|
+
animateOption = _ref$animateOption === void 0 ? {
|
|
55
|
+
enable: false,
|
|
56
|
+
speed: 0.01,
|
|
57
|
+
repeat: false
|
|
58
|
+
} : _ref$animateOption,
|
|
59
|
+
_ref$opacity = _ref.opacity,
|
|
60
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
61
|
+
sourceColor = _ref.sourceColor,
|
|
62
|
+
targetColor = _ref.targetColor,
|
|
63
|
+
_ref$pickLight = _ref.pickLight,
|
|
64
|
+
pickLight = _ref$pickLight === void 0 ? false : _ref$pickLight,
|
|
65
|
+
_ref$heightfixed = _ref.heightfixed,
|
|
66
|
+
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
|
|
67
|
+
_ref$opacityLinear = _ref.opacityLinear,
|
|
68
|
+
opacityLinear = _ref$opacityLinear === void 0 ? {
|
|
69
|
+
enable: false,
|
|
70
|
+
dir: 'up'
|
|
71
|
+
} : _ref$opacityLinear,
|
|
72
|
+
_ref$lightEnable = _ref.lightEnable,
|
|
73
|
+
lightEnable = _ref$lightEnable === void 0 ? true : _ref$lightEnable; // 转化渐变色
|
|
74
|
+
|
|
75
|
+
|
|
61
76
|
var useLinearColor = 0; // 默认不生效
|
|
77
|
+
|
|
62
78
|
var sourceColorArr = [0, 0, 0, 0];
|
|
63
79
|
var targetColorArr = [0, 0, 0, 0];
|
|
80
|
+
|
|
64
81
|
if (sourceColor && targetColor) {
|
|
65
82
|
sourceColorArr = rgb2arr(sourceColor);
|
|
66
83
|
targetColorArr = rgb2arr(targetColor);
|
|
67
84
|
useLinearColor = 1;
|
|
68
85
|
}
|
|
86
|
+
|
|
69
87
|
if (this.raiseCount < 1 && this.raiseRepeat > 0) {
|
|
70
88
|
if (animateOption.enable) {
|
|
71
89
|
var _animateOption$speed = animateOption.speed,
|
|
72
|
-
|
|
90
|
+
speed = _animateOption$speed === void 0 ? 0.01 : _animateOption$speed;
|
|
73
91
|
this.raiseCount += speed;
|
|
92
|
+
|
|
74
93
|
if (this.raiseCount >= 1) {
|
|
75
94
|
if (this.raiseRepeat > 1) {
|
|
76
95
|
this.raiseCount = 0;
|
|
@@ -81,6 +100,7 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
81
100
|
}
|
|
82
101
|
}
|
|
83
102
|
}
|
|
103
|
+
|
|
84
104
|
return {
|
|
85
105
|
// 圆柱体的拾取高亮是否要计算光照
|
|
86
106
|
u_pickLight: Number(pickLight),
|
|
@@ -104,18 +124,23 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
104
124
|
value: function () {
|
|
105
125
|
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
106
126
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
107
|
-
while (1)
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
127
|
+
while (1) {
|
|
128
|
+
switch (_context.prev = _context.next) {
|
|
129
|
+
case 0:
|
|
130
|
+
return _context.abrupt("return", this.buildModels());
|
|
131
|
+
|
|
132
|
+
case 1:
|
|
133
|
+
case "end":
|
|
134
|
+
return _context.stop();
|
|
135
|
+
}
|
|
113
136
|
}
|
|
114
137
|
}, _callee, this);
|
|
115
138
|
}));
|
|
139
|
+
|
|
116
140
|
function initModels() {
|
|
117
141
|
return _initModels.apply(this, arguments);
|
|
118
142
|
}
|
|
143
|
+
|
|
119
144
|
return initModels;
|
|
120
145
|
}()
|
|
121
146
|
}, {
|
|
@@ -123,38 +148,45 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
123
148
|
value: function () {
|
|
124
149
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
125
150
|
var _ref2, _ref2$depth, depth, _ref2$animateOption$r, repeat, model;
|
|
151
|
+
|
|
126
152
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
127
|
-
while (1)
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
153
|
+
while (1) {
|
|
154
|
+
switch (_context2.prev = _context2.next) {
|
|
155
|
+
case 0:
|
|
156
|
+
// GAODE1.x GAODE2.x MAPBOX
|
|
157
|
+
_ref2 = this.layer.getLayerConfig(), _ref2$depth = _ref2.depth, depth = _ref2$depth === void 0 ? true : _ref2$depth, _ref2$animateOption$r = _ref2.animateOption.repeat, repeat = _ref2$animateOption$r === void 0 ? 1 : _ref2$animateOption$r;
|
|
158
|
+
this.raiseRepeat = repeat;
|
|
159
|
+
_context2.next = 4;
|
|
160
|
+
return this.layer.buildLayerModel({
|
|
161
|
+
moduleName: 'pointExtrude',
|
|
162
|
+
vertexShader: pointExtrudeVert,
|
|
163
|
+
fragmentShader: pointExtrudeFrag,
|
|
164
|
+
triangulation: PointExtrudeTriangulation,
|
|
165
|
+
cull: {
|
|
166
|
+
enable: true,
|
|
167
|
+
face: getCullFace(this.mapService.version)
|
|
168
|
+
},
|
|
169
|
+
depth: {
|
|
170
|
+
enable: depth
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
case 4:
|
|
175
|
+
model = _context2.sent;
|
|
176
|
+
return _context2.abrupt("return", [model]);
|
|
177
|
+
|
|
178
|
+
case 6:
|
|
179
|
+
case "end":
|
|
180
|
+
return _context2.stop();
|
|
181
|
+
}
|
|
152
182
|
}
|
|
153
183
|
}, _callee2, this);
|
|
154
184
|
}));
|
|
185
|
+
|
|
155
186
|
function buildModels() {
|
|
156
187
|
return _buildModels.apply(this, arguments);
|
|
157
188
|
}
|
|
189
|
+
|
|
158
190
|
return buildModels;
|
|
159
191
|
}()
|
|
160
192
|
}, {
|
|
@@ -174,23 +206,26 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
174
206
|
size: 3,
|
|
175
207
|
update: function update(feature) {
|
|
176
208
|
var size = feature.size;
|
|
209
|
+
|
|
177
210
|
if (size) {
|
|
178
211
|
var buffersize = [];
|
|
212
|
+
|
|
179
213
|
if (Array.isArray(size)) {
|
|
180
214
|
buffersize = size.length === 2 ? [size[0], size[0], size[1]] : size;
|
|
181
215
|
}
|
|
216
|
+
|
|
182
217
|
if (!Array.isArray(size)) {
|
|
183
218
|
buffersize = [size, size, size];
|
|
184
219
|
}
|
|
220
|
+
|
|
185
221
|
return buffersize;
|
|
186
222
|
} else {
|
|
187
223
|
return [2, 2, 2];
|
|
188
224
|
}
|
|
189
225
|
}
|
|
190
226
|
}
|
|
191
|
-
});
|
|
227
|
+
}); // point layer size;
|
|
192
228
|
|
|
193
|
-
// point layer size;
|
|
194
229
|
this.styleAttributeService.registerStyleAttribute({
|
|
195
230
|
name: 'normal',
|
|
196
231
|
type: AttributeType.Attribute,
|
|
@@ -228,6 +263,8 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
228
263
|
});
|
|
229
264
|
}
|
|
230
265
|
}]);
|
|
266
|
+
|
|
231
267
|
return ExtrudeModel;
|
|
232
268
|
}(BaseModel);
|
|
269
|
+
|
|
233
270
|
export { ExtrudeModel as default };
|
package/es/point/models/fill.js
CHANGED
|
@@ -6,43 +6,54 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
|
6
6
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
7
7
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
8
8
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
9
|
+
|
|
9
10
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
|
+
|
|
10
12
|
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; } }
|
|
13
|
+
|
|
11
14
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
12
15
|
import { PointFillTriangulation } from '@antv/l7-utils';
|
|
13
16
|
import BaseModel from "../../core/BaseModel";
|
|
14
|
-
import { SizeUnitType } from "../../core/interface";
|
|
15
|
-
|
|
17
|
+
import { SizeUnitType } from "../../core/interface"; // animate pointLayer shader - support animate
|
|
18
|
+
|
|
16
19
|
/* babel-plugin-inline-import '../shaders/animate/wave_frag.glsl' */
|
|
17
20
|
var waveFillFrag = "\nuniform float u_additive;\n\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nuniform float u_time;\nuniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\nvoid main() {\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n \n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n float PI = 3.14159;\n float N_RINGS = 3.0;\n float FREQ = 1.0;\n\n gl_FragColor = v_color;\n\n float d = length(v_data.xy);\n if(d > 0.5) {\n discard;\n }\n float intensity = clamp(cos(d * PI), 0.0, 1.0) * clamp(cos(2.0 * PI * (d * 2.0 * u_animate.z - u_animate.y * u_time)), 0.0, 1.0);\n \n // \u6839\u636E\u53E0\u52A0\u6A21\u5F0F\u9009\u62E9\u6548\u679C\n if(u_additive > 0.0) {\n gl_FragColor *= intensity;\n // \u4F18\u5316\u6C34\u6CE2\u70B9 blend additive \u6A21\u5F0F\u4E0B\u6709\u7684\u62FE\u53D6\u6548\u679C \n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor = vec4(gl_FragColor.xyz, gl_FragColor.a * intensity);\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n"; // static pointLayer shader - not support animate
|
|
21
|
+
|
|
18
22
|
/* babel-plugin-inline-import '../shaders/fill_frag.glsl' */
|
|
19
23
|
var pointFillFrag = "uniform float u_additive;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec4 v_stroke;\n\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 lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius + u_stroke_width);\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 float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = u_stroke_width < 0.01 ? 0.0 : smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n\n if(u_stroke_width < 0.01) {\n gl_FragColor = v_color;\n } else {\n gl_FragColor = mix(v_color, v_stroke * u_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 // \u4F5C\u4E3A mask \u6A21\u677F\u65F6\u9700\u8981\u4E22\u5F03\u900F\u660E\u7684\u50CF\u7D20\n if(gl_FragColor.a < 0.01) {\n discard;\n } \n}\n";
|
|
24
|
+
|
|
20
25
|
/* babel-plugin-inline-import '../shaders/fill_vert.glsl' */
|
|
21
26
|
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform int u_size_unit;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec4 v_stroke;\n\n// uniform float u_opacity : 1;\nuniform float u_stroke_width: 2;\nuniform vec3 u_blur_height_fixed: [0, 0, 0];\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n // \u900F\u660E\u5EA6\u8BA1\u7B97\n v_stroke = stroke; \n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n /*\n * setPickingSize \u8BBE\u7F6E\u62FE\u53D6\u5927\u5C0F\n * u_meter2coord \u5728\u7B49\u9762\u79EF\u5927\u5C0F\u7684\u65F6\u5019\u8BBE\u7F6E\u5355\u4F4D\n */\n float newSize = setPickingSize(a_Size);\n // float newSize = setPickingSize(a_Size) * 0.00001038445708445579;\n\n\n\n // unpack color(vec2)\n v_color = vec4(a_Color.xyz, a_Color.w * opacity);\n\n if(u_size_unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n\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_height_fixed.x);\n\n vec2 offset = (extrude.xy * (newSize + u_stroke_width) + u_offsets);\n vec3 aPosition = a_Position;\n\n offset = project_pixel(offset);\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 // vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n\n float raisingHeight = u_blur_height_fixed.y;\n\n if(u_blur_height_fixed.z < 1.0) { // false\n raisingHeight = project_pixel(u_blur_height_fixed.y);\n } else {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raisingHeight = u_blur_height_fixed.y * mapboxZoomScale;\n }\n }\n \n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, raisingHeight, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, raisingHeight, 1.0));\n }\n \n // gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
27
|
+
|
|
22
28
|
var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
23
29
|
_inherits(FillModel, _BaseModel);
|
|
30
|
+
|
|
24
31
|
var _super = _createSuper(FillModel);
|
|
32
|
+
|
|
25
33
|
function FillModel() {
|
|
26
34
|
_classCallCheck(this, FillModel);
|
|
35
|
+
|
|
27
36
|
return _super.apply(this, arguments);
|
|
28
37
|
}
|
|
38
|
+
|
|
29
39
|
_createClass(FillModel, [{
|
|
30
40
|
key: "getUninforms",
|
|
31
41
|
value: function getUninforms() {
|
|
32
42
|
var _ref = this.layer.getLayerConfig(),
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
_ref$strokeOpacity = _ref.strokeOpacity,
|
|
44
|
+
strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
|
|
45
|
+
_ref$strokeWidth = _ref.strokeWidth,
|
|
46
|
+
strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
|
|
47
|
+
blend = _ref.blend,
|
|
48
|
+
_ref$blur = _ref.blur,
|
|
49
|
+
blur = _ref$blur === void 0 ? 0 : _ref$blur,
|
|
50
|
+
_ref$raisingHeight = _ref.raisingHeight,
|
|
51
|
+
raisingHeight = _ref$raisingHeight === void 0 ? 0 : _ref$raisingHeight,
|
|
52
|
+
_ref$heightfixed = _ref.heightfixed,
|
|
53
|
+
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
|
|
54
|
+
_ref$unit = _ref.unit,
|
|
55
|
+
unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
|
|
56
|
+
|
|
46
57
|
return _objectSpread({
|
|
47
58
|
u_blur_height_fixed: [blur, Number(raisingHeight), Number(heightfixed)],
|
|
48
59
|
u_additive: blend === 'additive' ? 1.0 : 0.0,
|
|
@@ -55,10 +66,11 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
55
66
|
key: "getAnimateUniforms",
|
|
56
67
|
value: function getAnimateUniforms() {
|
|
57
68
|
var _ref2 = this.layer.getLayerConfig(),
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
69
|
+
_ref2$animateOption = _ref2.animateOption,
|
|
70
|
+
animateOption = _ref2$animateOption === void 0 ? {
|
|
71
|
+
enable: false
|
|
72
|
+
} : _ref2$animateOption;
|
|
73
|
+
|
|
62
74
|
return {
|
|
63
75
|
u_animate: this.animateOption2Array(animateOption),
|
|
64
76
|
u_time: this.layer.getLayerAnimateTime()
|
|
@@ -74,18 +86,23 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
74
86
|
value: function () {
|
|
75
87
|
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
76
88
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
77
|
-
while (1)
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
89
|
+
while (1) {
|
|
90
|
+
switch (_context.prev = _context.next) {
|
|
91
|
+
case 0:
|
|
92
|
+
return _context.abrupt("return", this.buildModels());
|
|
93
|
+
|
|
94
|
+
case 1:
|
|
95
|
+
case "end":
|
|
96
|
+
return _context.stop();
|
|
97
|
+
}
|
|
83
98
|
}
|
|
84
99
|
}, _callee, this);
|
|
85
100
|
}));
|
|
101
|
+
|
|
86
102
|
function initModels() {
|
|
87
103
|
return _initModels.apply(this, arguments);
|
|
88
104
|
}
|
|
105
|
+
|
|
89
106
|
return initModels;
|
|
90
107
|
}()
|
|
91
108
|
}, {
|
|
@@ -93,43 +110,51 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
93
110
|
value: function () {
|
|
94
111
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
95
112
|
var _ref3, _ref3$animateOption, animateOption, _this$getShaders, frag, vert, type, model;
|
|
113
|
+
|
|
96
114
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
97
|
-
while (1)
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
} : _ref3$animateOption;
|
|
102
|
-
_this$getShaders = this.getShaders(animateOption), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
|
|
103
|
-
this.layer.triangulation = PointFillTriangulation;
|
|
104
|
-
_context2.next = 5;
|
|
105
|
-
return this.layer.buildLayerModel({
|
|
106
|
-
moduleName: type,
|
|
107
|
-
vertexShader: vert,
|
|
108
|
-
fragmentShader: frag,
|
|
109
|
-
inject: this.getInject(),
|
|
110
|
-
triangulation: PointFillTriangulation,
|
|
111
|
-
depth: {
|
|
115
|
+
while (1) {
|
|
116
|
+
switch (_context2.prev = _context2.next) {
|
|
117
|
+
case 0:
|
|
118
|
+
_ref3 = this.layer.getLayerConfig(), _ref3$animateOption = _ref3.animateOption, animateOption = _ref3$animateOption === void 0 ? {
|
|
112
119
|
enable: false
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
120
|
+
} : _ref3$animateOption;
|
|
121
|
+
_this$getShaders = this.getShaders(animateOption), frag = _this$getShaders.frag, vert = _this$getShaders.vert, type = _this$getShaders.type;
|
|
122
|
+
this.layer.triangulation = PointFillTriangulation;
|
|
123
|
+
_context2.next = 5;
|
|
124
|
+
return this.layer.buildLayerModel({
|
|
125
|
+
moduleName: type,
|
|
126
|
+
vertexShader: vert,
|
|
127
|
+
fragmentShader: frag,
|
|
128
|
+
inject: this.getInject(),
|
|
129
|
+
triangulation: PointFillTriangulation,
|
|
130
|
+
depth: {
|
|
131
|
+
enable: false
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
case 5:
|
|
136
|
+
model = _context2.sent;
|
|
137
|
+
return _context2.abrupt("return", [model]);
|
|
138
|
+
|
|
139
|
+
case 7:
|
|
140
|
+
case "end":
|
|
141
|
+
return _context2.stop();
|
|
142
|
+
}
|
|
121
143
|
}
|
|
122
144
|
}, _callee2, this);
|
|
123
145
|
}));
|
|
146
|
+
|
|
124
147
|
function buildModels() {
|
|
125
148
|
return _buildModels.apply(this, arguments);
|
|
126
149
|
}
|
|
150
|
+
|
|
127
151
|
return buildModels;
|
|
128
152
|
}()
|
|
129
153
|
/**
|
|
130
154
|
* 根据 animateOption 的值返回对应的 shader 代码
|
|
131
155
|
* @returns
|
|
132
156
|
*/
|
|
157
|
+
|
|
133
158
|
}, {
|
|
134
159
|
key: "getShaders",
|
|
135
160
|
value: function getShaders(animateOption) {
|
|
@@ -141,6 +166,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
141
166
|
vert: pointFillVert,
|
|
142
167
|
type: 'pointWave'
|
|
143
168
|
};
|
|
169
|
+
|
|
144
170
|
default:
|
|
145
171
|
return {
|
|
146
172
|
frag: waveFillFrag,
|
|
@@ -155,9 +181,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
155
181
|
type: 'pointFill'
|
|
156
182
|
};
|
|
157
183
|
}
|
|
158
|
-
}
|
|
184
|
+
} // overwrite baseModel func
|
|
159
185
|
|
|
160
|
-
// overwrite baseModel func
|
|
161
186
|
}, {
|
|
162
187
|
key: "animateOption2Array",
|
|
163
188
|
value: function animateOption2Array(option) {
|
|
@@ -186,9 +211,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
186
211
|
return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
|
|
187
212
|
}
|
|
188
213
|
}
|
|
189
|
-
});
|
|
214
|
+
}); // point layer size;
|
|
190
215
|
|
|
191
|
-
// point layer size;
|
|
192
216
|
this.styleAttributeService.registerStyleAttribute({
|
|
193
217
|
name: 'size',
|
|
194
218
|
type: AttributeType.Attribute,
|
|
@@ -203,13 +227,12 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
203
227
|
size: 1,
|
|
204
228
|
update: function update(feature) {
|
|
205
229
|
var _feature$size = feature.size,
|
|
206
|
-
|
|
230
|
+
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
207
231
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
208
232
|
}
|
|
209
233
|
}
|
|
210
|
-
});
|
|
234
|
+
}); // point layer shape;
|
|
211
235
|
|
|
212
|
-
// point layer shape;
|
|
213
236
|
this.styleAttributeService.registerStyleAttribute({
|
|
214
237
|
name: 'shape',
|
|
215
238
|
type: AttributeType.Attribute,
|
|
@@ -224,7 +247,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
224
247
|
size: 1,
|
|
225
248
|
update: function update(feature) {
|
|
226
249
|
var _feature$shape = feature.shape,
|
|
227
|
-
|
|
250
|
+
shape = _feature$shape === void 0 ? 2 : _feature$shape;
|
|
228
251
|
var shapeIndex = shape2d.indexOf(shape);
|
|
229
252
|
return [shapeIndex];
|
|
230
253
|
}
|
|
@@ -232,6 +255,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
232
255
|
});
|
|
233
256
|
}
|
|
234
257
|
}]);
|
|
258
|
+
|
|
235
259
|
return FillModel;
|
|
236
260
|
}(BaseModel);
|
|
261
|
+
|
|
237
262
|
export { FillModel as default };
|