@antv/l7-layers 2.17.3 → 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 +112 -63
- 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 +136 -85
- package/es/line/models/linearline.js +74 -42
- package/es/line/models/simpleLine.js +67 -38
- 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 +122 -61
- 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 +144 -83
- package/lib/line/models/linearline.js +86 -42
- package/lib/line/models/simpleLine.js +77 -38
- 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,72 +7,91 @@ 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 { isNumber } from 'lodash';
|
|
15
18
|
import BaseModel from "../../core/BaseModel";
|
|
16
19
|
import { PointExtrudeTriangulation } from "../../core/triangulation";
|
|
17
20
|
import { lglt2xyz } from "../../earth/utils";
|
|
21
|
+
|
|
18
22
|
/* babel-plugin-inline-import '../shaders/earth/extrude_frag.glsl' */
|
|
19
23
|
var pointExtrudeFrag = "varying vec4 v_color;\nuniform float u_opacity: 1.0;\n\nuniform float u_pickLight: 0.0;\n\n#pragma include \"picking\"\n\n\nuniform float u_linearColor: 0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\n\nuniform float u_opacitylinear: 0.0;\nuniform float u_opacitylinear_dir: 1.0;\nvarying float v_lightWeight;\nvarying float v_barLinearZ;\nvoid main() {\n\n gl_FragColor = v_color;\n\n // \u5F00\u542F\u900F\u660E\u5EA6\u6E10\u53D8\n if(u_opacitylinear > 0.0) {\n gl_FragColor.a *= u_opacitylinear_dir > 0.0 ? (1.0 - v_barLinearZ): v_barLinearZ;\n }\n\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";
|
|
24
|
+
|
|
20
25
|
/* babel-plugin-inline-import '../shaders/earth/extrude_vert.glsl' */
|
|
21
26
|
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_globel;\nuniform float u_r;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform float u_opacity : 1;\nuniform float u_lightEnable: 1;\nvarying float v_lightWeight;\nvarying float v_barLinearZ;\n// \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\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 float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n textureOffset = opacityAndOffset.g;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n vec3 size = a_Size * a_Position;\n\n // a_Position.z \u662F\u5728\u6784\u5EFA\u7F51\u683C\u7684\u65F6\u5019\u4F20\u5165\u7684\u6807\u51C6\u503C 0 - 1\uFF0C\u5728\u63D2\u503C\u5668\u63D2\u503C\u53EF\u4EE5\u83B7\u53D6 0\uFF5E1 \u7EBF\u6027\u6E10\u53D8\u7684\u503C\n v_barLinearZ = a_Position.z;\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 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 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 v_lightWeight = lightWeight;\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, barLinearZ);\n v_color.rgb *= lightWeight;\n } else { // \u4F7F\u7528 color \u65B9\u6CD5\u4F20\u5165\u7684\u989C\u8272\n v_color = a_Color;\n }\n v_color.a *= u_opacity;\n\n \n // \u5728\u5730\u7403\u6A21\u5F0F\u4E0B\uFF0C\u5C06\u539F\u672C\u5782\u76F4\u4E8E xy \u5E73\u9762\u7684\u5706\u67F1\u8C03\u6574\u59FF\u6001\u5230\u9002\u5E94\u5706\u7684\u89D2\u5EA6\n //\u65CB\u8F6C\u77E9\u9635mx\uFF0C\u521B\u5EFA\u7ED5x\u8F74\u65CB\u8F6C\u77E9\u9635\n float r = sqrt(a_Pos.z*a_Pos.z + a_Pos.x*a_Pos.x);\n float xRadian = getXRadian(a_Pos.y, r);\n float xcos = cos(xRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u4F59\u5F26\u503C\n float xsin = sin(xRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u6B63\u5F26\u503C\n mat4 mx = mat4(\n 1,0,0,0, \n 0,xcos,-xsin,0, \n 0,xsin,xcos,0, \n 0,0,0,1);\n\n //\u65CB\u8F6C\u77E9\u9635my\uFF0C\u521B\u5EFA\u7ED5y\u8F74\u65CB\u8F6C\u77E9\u9635\n float yRadian = getYRadian(a_Pos.x, a_Pos.z);\n float ycos = cos(yRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u4F59\u5F26\u503C\n float ysin = sin(yRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u6B63\u5F26\u503C\n mat4 my = mat4(\n ycos,0,-ysin,0, \n 0,1,0,0, \n ysin,0,ycos,0, \n 0,0,0,1);\n\n gl_Position = u_ViewProjectionMatrix * vec4(( my * mx * vec4(a_Position * a_Size, 1.0)).xyz + a_Pos, 1.0);\n \n\n setPickingColor(a_PickingColor);\n}\n";
|
|
27
|
+
|
|
22
28
|
var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
23
29
|
_inherits(ExtrudeModel, _BaseModel);
|
|
30
|
+
|
|
24
31
|
var _super = _createSuper(ExtrudeModel);
|
|
32
|
+
|
|
25
33
|
function ExtrudeModel() {
|
|
26
34
|
var _this;
|
|
35
|
+
|
|
27
36
|
_classCallCheck(this, ExtrudeModel);
|
|
37
|
+
|
|
28
38
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
29
39
|
args[_key] = arguments[_key];
|
|
30
40
|
}
|
|
41
|
+
|
|
31
42
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
43
|
+
|
|
32
44
|
_defineProperty(_assertThisInitialized(_this), "raiseCount", 0);
|
|
45
|
+
|
|
33
46
|
_defineProperty(_assertThisInitialized(_this), "raiseRepeat", 0);
|
|
47
|
+
|
|
34
48
|
return _this;
|
|
35
49
|
}
|
|
50
|
+
|
|
36
51
|
_createClass(ExtrudeModel, [{
|
|
37
52
|
key: "getUninforms",
|
|
38
53
|
value: function getUninforms() {
|
|
39
54
|
var _ref = this.layer.getLayerConfig(),
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
55
|
+
_ref$animateOption = _ref.animateOption,
|
|
56
|
+
animateOption = _ref$animateOption === void 0 ? {
|
|
57
|
+
enable: false,
|
|
58
|
+
speed: 0.01,
|
|
59
|
+
repeat: false
|
|
60
|
+
} : _ref$animateOption,
|
|
61
|
+
_ref$opacity = _ref.opacity,
|
|
62
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
63
|
+
sourceColor = _ref.sourceColor,
|
|
64
|
+
targetColor = _ref.targetColor,
|
|
65
|
+
_ref$pickLight = _ref.pickLight,
|
|
66
|
+
pickLight = _ref$pickLight === void 0 ? false : _ref$pickLight,
|
|
67
|
+
_ref$heightfixed = _ref.heightfixed,
|
|
68
|
+
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
|
|
69
|
+
_ref$opacityLinear = _ref.opacityLinear,
|
|
70
|
+
opacityLinear = _ref$opacityLinear === void 0 ? {
|
|
71
|
+
enable: false,
|
|
72
|
+
dir: 'up'
|
|
73
|
+
} : _ref$opacityLinear,
|
|
74
|
+
_ref$lightEnable = _ref.lightEnable,
|
|
75
|
+
lightEnable = _ref$lightEnable === void 0 ? true : _ref$lightEnable; // 转化渐变色
|
|
76
|
+
|
|
77
|
+
|
|
63
78
|
var useLinearColor = 0; // 默认不生效
|
|
79
|
+
|
|
64
80
|
var sourceColorArr = [0, 0, 0, 0];
|
|
65
81
|
var targetColorArr = [0, 0, 0, 0];
|
|
82
|
+
|
|
66
83
|
if (sourceColor && targetColor) {
|
|
67
84
|
sourceColorArr = rgb2arr(sourceColor);
|
|
68
85
|
targetColorArr = rgb2arr(targetColor);
|
|
69
86
|
useLinearColor = 1;
|
|
70
87
|
}
|
|
88
|
+
|
|
71
89
|
if (this.raiseCount < 1 && this.raiseRepeat > 0) {
|
|
72
90
|
if (animateOption.enable) {
|
|
73
91
|
var _animateOption$speed = animateOption.speed,
|
|
74
|
-
|
|
92
|
+
speed = _animateOption$speed === void 0 ? 0.01 : _animateOption$speed;
|
|
75
93
|
this.raiseCount += speed;
|
|
94
|
+
|
|
76
95
|
if (this.raiseCount >= 1) {
|
|
77
96
|
if (this.raiseRepeat > 1) {
|
|
78
97
|
this.raiseCount = 0;
|
|
@@ -83,6 +102,7 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
83
102
|
}
|
|
84
103
|
}
|
|
85
104
|
}
|
|
105
|
+
|
|
86
106
|
return {
|
|
87
107
|
// 圆柱体的拾取高亮是否要计算光照
|
|
88
108
|
u_pickLight: Number(pickLight),
|
|
@@ -106,18 +126,23 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
106
126
|
value: function () {
|
|
107
127
|
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
108
128
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
109
|
-
while (1)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
129
|
+
while (1) {
|
|
130
|
+
switch (_context.prev = _context.next) {
|
|
131
|
+
case 0:
|
|
132
|
+
return _context.abrupt("return", this.buildModels());
|
|
133
|
+
|
|
134
|
+
case 1:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context.stop();
|
|
137
|
+
}
|
|
115
138
|
}
|
|
116
139
|
}, _callee, this);
|
|
117
140
|
}));
|
|
141
|
+
|
|
118
142
|
function initModels() {
|
|
119
143
|
return _initModels.apply(this, arguments);
|
|
120
144
|
}
|
|
145
|
+
|
|
121
146
|
return initModels;
|
|
122
147
|
}()
|
|
123
148
|
}, {
|
|
@@ -125,39 +150,46 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
125
150
|
value: function () {
|
|
126
151
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
127
152
|
var _ref2, _ref2$animateOption$r, repeat, model;
|
|
153
|
+
|
|
128
154
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
129
|
-
while (1)
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
+
while (1) {
|
|
156
|
+
switch (_context2.prev = _context2.next) {
|
|
157
|
+
case 0:
|
|
158
|
+
// GAODE1.x GAODE2.x MAPBOX
|
|
159
|
+
_ref2 = this.layer.getLayerConfig(), _ref2$animateOption$r = _ref2.animateOption.repeat, repeat = _ref2$animateOption$r === void 0 ? 1 : _ref2$animateOption$r;
|
|
160
|
+
this.raiseRepeat = repeat;
|
|
161
|
+
_context2.next = 4;
|
|
162
|
+
return this.layer.buildLayerModel({
|
|
163
|
+
moduleName: 'pointEarthExtrude',
|
|
164
|
+
vertexShader: pointExtrudeVert,
|
|
165
|
+
fragmentShader: pointExtrudeFrag,
|
|
166
|
+
triangulation: PointExtrudeTriangulation,
|
|
167
|
+
depth: {
|
|
168
|
+
enable: true
|
|
169
|
+
},
|
|
170
|
+
cull: {
|
|
171
|
+
enable: true,
|
|
172
|
+
face: getCullFace(this.mapService.version)
|
|
173
|
+
},
|
|
174
|
+
blend: this.getBlend()
|
|
175
|
+
});
|
|
176
|
+
|
|
177
|
+
case 4:
|
|
178
|
+
model = _context2.sent;
|
|
179
|
+
return _context2.abrupt("return", [model]);
|
|
180
|
+
|
|
181
|
+
case 6:
|
|
182
|
+
case "end":
|
|
183
|
+
return _context2.stop();
|
|
184
|
+
}
|
|
155
185
|
}
|
|
156
186
|
}, _callee2, this);
|
|
157
187
|
}));
|
|
188
|
+
|
|
158
189
|
function buildModels() {
|
|
159
190
|
return _buildModels.apply(this, arguments);
|
|
160
191
|
}
|
|
192
|
+
|
|
161
193
|
return buildModels;
|
|
162
194
|
}()
|
|
163
195
|
}, {
|
|
@@ -176,23 +208,26 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
176
208
|
size: 3,
|
|
177
209
|
update: function update(feature) {
|
|
178
210
|
var size = feature.size;
|
|
211
|
+
|
|
179
212
|
if (size) {
|
|
180
213
|
var buffersize = [];
|
|
214
|
+
|
|
181
215
|
if (Array.isArray(size)) {
|
|
182
216
|
buffersize = size.length === 2 ? [size[0], size[0], size[1]] : size;
|
|
183
217
|
}
|
|
218
|
+
|
|
184
219
|
if (!Array.isArray(size)) {
|
|
185
220
|
buffersize = [size, size, size];
|
|
186
221
|
}
|
|
222
|
+
|
|
187
223
|
return buffersize;
|
|
188
224
|
} else {
|
|
189
225
|
return [2, 2, 2];
|
|
190
226
|
}
|
|
191
227
|
}
|
|
192
228
|
}
|
|
193
|
-
});
|
|
229
|
+
}); // point layer size;
|
|
194
230
|
|
|
195
|
-
// point layer size;
|
|
196
231
|
this.styleAttributeService.registerStyleAttribute({
|
|
197
232
|
name: 'normal',
|
|
198
233
|
type: AttributeType.Attribute,
|
|
@@ -229,6 +264,8 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
229
264
|
});
|
|
230
265
|
}
|
|
231
266
|
}]);
|
|
267
|
+
|
|
232
268
|
return ExtrudeModel;
|
|
233
269
|
}(BaseModel);
|
|
270
|
+
|
|
234
271
|
export { ExtrudeModel as default };
|
|
@@ -7,57 +7,69 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
|
7
7
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
8
8
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
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 BaseModel from "../../core/BaseModel";
|
|
14
17
|
import { GlobelPointFillTriangulation } from "../../core/triangulation";
|
|
18
|
+
|
|
15
19
|
/* babel-plugin-inline-import '../shaders/earth/fill_frag.glsl' */
|
|
16
20
|
var pointFillFrag = "uniform float u_additive;\nuniform float u_opacity : 1;\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;\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 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 * u_opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * u_opacity), u_stroke_color * 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}\n";
|
|
21
|
+
|
|
17
22
|
/* babel-plugin-inline-import '../shaders/earth/fill_vert.glsl' */
|
|
18
23
|
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\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 \"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 // 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 + u_offsets, 1.0);\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
19
24
|
import { rgb2arr } from '@antv/l7-utils';
|
|
20
25
|
import { mat4, vec3 } from 'gl-matrix';
|
|
26
|
+
|
|
21
27
|
var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
22
28
|
_inherits(FillModel, _BaseModel);
|
|
29
|
+
|
|
23
30
|
var _super = _createSuper(FillModel);
|
|
31
|
+
|
|
24
32
|
function FillModel() {
|
|
25
33
|
_classCallCheck(this, FillModel);
|
|
34
|
+
|
|
26
35
|
return _super.apply(this, arguments);
|
|
27
36
|
}
|
|
37
|
+
|
|
28
38
|
_createClass(FillModel, [{
|
|
29
39
|
key: "getUninforms",
|
|
30
40
|
value: function getUninforms() {
|
|
31
41
|
var _ref = this.layer.getLayerConfig(),
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
42
|
+
_ref$opacity = _ref.opacity,
|
|
43
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
44
|
+
_ref$strokeOpacity = _ref.strokeOpacity,
|
|
45
|
+
strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
|
|
46
|
+
_ref$strokeWidth = _ref.strokeWidth,
|
|
47
|
+
strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
|
|
48
|
+
_ref$stroke = _ref.stroke,
|
|
49
|
+
stroke = _ref$stroke === void 0 ? 'rgba(0,0,0,0)' : _ref$stroke,
|
|
50
|
+
blend = _ref.blend,
|
|
51
|
+
_ref$blur = _ref.blur,
|
|
52
|
+
blur = _ref$blur === void 0 ? 0 : _ref$blur;
|
|
53
|
+
|
|
43
54
|
return {
|
|
44
55
|
u_blur: blur,
|
|
45
56
|
u_additive: blend === 'additive' ? 1.0 : 0.0,
|
|
46
57
|
u_opacity: opacity,
|
|
47
58
|
u_stroke_opacity: strokeOpacity,
|
|
48
59
|
u_stroke_width: strokeWidth,
|
|
49
|
-
u_stroke_color: rgb2arr(stroke)
|
|
50
|
-
|
|
60
|
+
u_stroke_color: rgb2arr(stroke) // u_offsets: offsets,
|
|
61
|
+
|
|
51
62
|
};
|
|
52
63
|
}
|
|
53
64
|
}, {
|
|
54
65
|
key: "getAnimateUniforms",
|
|
55
66
|
value: function getAnimateUniforms() {
|
|
56
67
|
var _ref2 = this.layer.getLayerConfig(),
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
68
|
+
_ref2$animateOption = _ref2.animateOption,
|
|
69
|
+
animateOption = _ref2$animateOption === void 0 ? {
|
|
70
|
+
enable: false
|
|
71
|
+
} : _ref2$animateOption;
|
|
72
|
+
|
|
61
73
|
return {
|
|
62
74
|
u_animate: this.animateOption2Array(animateOption),
|
|
63
75
|
u_time: this.layer.getLayerAnimateTime()
|
|
@@ -68,18 +80,23 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
68
80
|
value: function () {
|
|
69
81
|
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
70
82
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
71
|
-
while (1)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
83
|
+
while (1) {
|
|
84
|
+
switch (_context.prev = _context.next) {
|
|
85
|
+
case 0:
|
|
86
|
+
return _context.abrupt("return", this.buildModels());
|
|
87
|
+
|
|
88
|
+
case 1:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context.stop();
|
|
91
|
+
}
|
|
77
92
|
}
|
|
78
93
|
}, _callee, this);
|
|
79
94
|
}));
|
|
95
|
+
|
|
80
96
|
function initModels() {
|
|
81
97
|
return _initModels.apply(this, arguments);
|
|
82
98
|
}
|
|
99
|
+
|
|
83
100
|
return initModels;
|
|
84
101
|
}()
|
|
85
102
|
}, {
|
|
@@ -88,34 +105,41 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
88
105
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
89
106
|
var model;
|
|
90
107
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
91
|
-
while (1)
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
108
|
+
while (1) {
|
|
109
|
+
switch (_context2.prev = _context2.next) {
|
|
110
|
+
case 0:
|
|
111
|
+
this.layer.triangulation = GlobelPointFillTriangulation;
|
|
112
|
+
_context2.next = 3;
|
|
113
|
+
return this.layer.buildLayerModel({
|
|
114
|
+
moduleName: 'pointEarthFill',
|
|
115
|
+
vertexShader: pointFillVert,
|
|
116
|
+
fragmentShader: pointFillFrag,
|
|
117
|
+
triangulation: GlobelPointFillTriangulation,
|
|
118
|
+
depth: {
|
|
119
|
+
enable: true
|
|
120
|
+
},
|
|
121
|
+
blend: this.getBlend()
|
|
122
|
+
});
|
|
123
|
+
|
|
124
|
+
case 3:
|
|
125
|
+
model = _context2.sent;
|
|
126
|
+
return _context2.abrupt("return", [model]);
|
|
127
|
+
|
|
128
|
+
case 5:
|
|
129
|
+
case "end":
|
|
130
|
+
return _context2.stop();
|
|
131
|
+
}
|
|
111
132
|
}
|
|
112
133
|
}, _callee2, this);
|
|
113
134
|
}));
|
|
135
|
+
|
|
114
136
|
function buildModels() {
|
|
115
137
|
return _buildModels.apply(this, arguments);
|
|
116
138
|
}
|
|
139
|
+
|
|
117
140
|
return buildModels;
|
|
118
141
|
}() // overwrite baseModel func
|
|
142
|
+
|
|
119
143
|
}, {
|
|
120
144
|
key: "animateOption2Array",
|
|
121
145
|
value: function animateOption2Array(option) {
|
|
@@ -125,6 +149,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
125
149
|
key: "registerBuiltinAttributes",
|
|
126
150
|
value: function registerBuiltinAttributes() {
|
|
127
151
|
var _this = this;
|
|
152
|
+
|
|
128
153
|
this.styleAttributeService.registerStyleAttribute({
|
|
129
154
|
name: 'extrude',
|
|
130
155
|
type: AttributeType.Attribute,
|
|
@@ -139,9 +164,10 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
139
164
|
size: 3,
|
|
140
165
|
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
141
166
|
var _vertex = _slicedToArray(vertex, 3),
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
167
|
+
x = _vertex[0],
|
|
168
|
+
y = _vertex[1],
|
|
169
|
+
z = _vertex[2];
|
|
170
|
+
|
|
145
171
|
var n1 = vec3.fromValues(0, 0, 1);
|
|
146
172
|
var n2 = vec3.fromValues(x, 0, z);
|
|
147
173
|
var xzReg = x >= 0 ? vec3.angle(n1, n2) : Math.PI * 2 - vec3.angle(n1, n2);
|
|
@@ -166,9 +192,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
166
192
|
return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
|
|
167
193
|
}
|
|
168
194
|
}
|
|
169
|
-
});
|
|
195
|
+
}); // point layer size;
|
|
170
196
|
|
|
171
|
-
// point layer size;
|
|
172
197
|
this.styleAttributeService.registerStyleAttribute({
|
|
173
198
|
name: 'size',
|
|
174
199
|
type: AttributeType.Attribute,
|
|
@@ -183,13 +208,12 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
183
208
|
size: 1,
|
|
184
209
|
update: function update(feature) {
|
|
185
210
|
var _feature$size = feature.size,
|
|
186
|
-
|
|
211
|
+
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
187
212
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
188
213
|
}
|
|
189
214
|
}
|
|
190
|
-
});
|
|
215
|
+
}); // point layer size;
|
|
191
216
|
|
|
192
|
-
// point layer size;
|
|
193
217
|
this.styleAttributeService.registerStyleAttribute({
|
|
194
218
|
name: 'shape',
|
|
195
219
|
type: AttributeType.Attribute,
|
|
@@ -204,8 +228,10 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
204
228
|
size: 1,
|
|
205
229
|
update: function update(feature) {
|
|
206
230
|
var _feature$shape = feature.shape,
|
|
207
|
-
|
|
231
|
+
shape = _feature$shape === void 0 ? 2 : _feature$shape;
|
|
232
|
+
|
|
208
233
|
var shape2d = _this.layer.getLayerConfig().shape2d;
|
|
234
|
+
|
|
209
235
|
var shapeIndex = shape2d.indexOf(shape);
|
|
210
236
|
return [shapeIndex];
|
|
211
237
|
}
|
|
@@ -213,6 +239,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
213
239
|
});
|
|
214
240
|
}
|
|
215
241
|
}]);
|
|
242
|
+
|
|
216
243
|
return FillModel;
|
|
217
244
|
}(BaseModel);
|
|
245
|
+
|
|
218
246
|
export { FillModel as default };
|