@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
|
@@ -6,13 +6,18 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
|
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
7
7
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
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 { isNumber } from 'lodash';
|
|
13
16
|
import BaseModel from "../../core/BaseModel";
|
|
17
|
+
|
|
14
18
|
/* babel-plugin-inline-import '../shaders/normal_frag.glsl' */
|
|
15
19
|
var normalFrag = "varying vec4 v_color;\nvoid main() {\n gl_FragColor = v_color;\n}\n";
|
|
20
|
+
|
|
16
21
|
/* babel-plugin-inline-import '../shaders/normal_vert.glsl' */
|
|
17
22
|
var normalVert = "\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform float u_opacity : 1;\nuniform mat4 u_Mvp;\nattribute float a_Size;\nattribute vec4 a_Color;\n\nvarying vec4 v_color;\n\n#pragma include \"projection\"\n#pragma include \"project\"\n\nvoid main() {\n v_color = vec4(a_Color.xyz, a_Color.w * u_opacity);\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(a_Position.xy, a_Position.z, 1.0);\n } else {\n vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2.,-a_Size /2.,0.,0.);\n gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy),project_pos.z,project_pos.w));\n }\n\n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n}\n";
|
|
18
23
|
export function PointTriangulation(feature) {
|
|
@@ -23,13 +28,18 @@ export function PointTriangulation(feature) {
|
|
|
23
28
|
size: coordinates.length
|
|
24
29
|
};
|
|
25
30
|
}
|
|
31
|
+
|
|
26
32
|
var NormalModel = /*#__PURE__*/function (_BaseModel) {
|
|
27
33
|
_inherits(NormalModel, _BaseModel);
|
|
34
|
+
|
|
28
35
|
var _super = _createSuper(NormalModel);
|
|
36
|
+
|
|
29
37
|
function NormalModel() {
|
|
30
38
|
_classCallCheck(this, NormalModel);
|
|
39
|
+
|
|
31
40
|
return _super.apply(this, arguments);
|
|
32
41
|
}
|
|
42
|
+
|
|
33
43
|
_createClass(NormalModel, [{
|
|
34
44
|
key: "getDefaultStyle",
|
|
35
45
|
value: function getDefaultStyle() {
|
|
@@ -41,8 +51,9 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
41
51
|
key: "getUninforms",
|
|
42
52
|
value: function getUninforms() {
|
|
43
53
|
var _ref = this.layer.getLayerConfig(),
|
|
44
|
-
|
|
45
|
-
|
|
54
|
+
_ref$opacity = _ref.opacity,
|
|
55
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
|
|
56
|
+
|
|
46
57
|
return {
|
|
47
58
|
u_opacity: isNumber(opacity) ? opacity : 1.0
|
|
48
59
|
};
|
|
@@ -52,18 +63,23 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
52
63
|
value: function () {
|
|
53
64
|
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
54
65
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
55
|
-
while (1)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
66
|
+
while (1) {
|
|
67
|
+
switch (_context.prev = _context.next) {
|
|
68
|
+
case 0:
|
|
69
|
+
return _context.abrupt("return", this.buildModels());
|
|
70
|
+
|
|
71
|
+
case 1:
|
|
72
|
+
case "end":
|
|
73
|
+
return _context.stop();
|
|
74
|
+
}
|
|
61
75
|
}
|
|
62
76
|
}, _callee, this);
|
|
63
77
|
}));
|
|
78
|
+
|
|
64
79
|
function initModels() {
|
|
65
80
|
return _initModels.apply(this, arguments);
|
|
66
81
|
}
|
|
82
|
+
|
|
67
83
|
return initModels;
|
|
68
84
|
}()
|
|
69
85
|
}, {
|
|
@@ -72,33 +88,39 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
72
88
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
73
89
|
var model;
|
|
74
90
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
75
|
-
while (1)
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
91
|
+
while (1) {
|
|
92
|
+
switch (_context2.prev = _context2.next) {
|
|
93
|
+
case 0:
|
|
94
|
+
this.layer.triangulation = PointTriangulation;
|
|
95
|
+
_context2.next = 3;
|
|
96
|
+
return this.layer.buildLayerModel({
|
|
97
|
+
moduleName: 'pointNormal',
|
|
98
|
+
vertexShader: normalVert,
|
|
99
|
+
fragmentShader: normalFrag,
|
|
100
|
+
triangulation: PointTriangulation,
|
|
101
|
+
depth: {
|
|
102
|
+
enable: false
|
|
103
|
+
},
|
|
104
|
+
primitive: gl.POINTS,
|
|
105
|
+
pick: false
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
case 3:
|
|
109
|
+
model = _context2.sent;
|
|
110
|
+
return _context2.abrupt("return", [model]);
|
|
111
|
+
|
|
112
|
+
case 5:
|
|
113
|
+
case "end":
|
|
114
|
+
return _context2.stop();
|
|
115
|
+
}
|
|
96
116
|
}
|
|
97
117
|
}, _callee2, this);
|
|
98
118
|
}));
|
|
119
|
+
|
|
99
120
|
function buildModels() {
|
|
100
121
|
return _buildModels.apply(this, arguments);
|
|
101
122
|
}
|
|
123
|
+
|
|
102
124
|
return buildModels;
|
|
103
125
|
}()
|
|
104
126
|
}, {
|
|
@@ -122,13 +144,15 @@ var NormalModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
122
144
|
size: 1,
|
|
123
145
|
update: function update(feature) {
|
|
124
146
|
var _feature$size = feature.size,
|
|
125
|
-
|
|
147
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
126
148
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
127
149
|
}
|
|
128
150
|
}
|
|
129
151
|
});
|
|
130
152
|
}
|
|
131
153
|
}]);
|
|
154
|
+
|
|
132
155
|
return NormalModel;
|
|
133
156
|
}(BaseModel);
|
|
157
|
+
|
|
134
158
|
export { NormalModel as default };
|
package/es/point/models/radar.js
CHANGED
|
@@ -5,34 +5,45 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
|
5
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
7
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
|
+
|
|
8
9
|
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); }; }
|
|
10
|
+
|
|
9
11
|
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; } }
|
|
12
|
+
|
|
10
13
|
import { AttributeType, gl } from '@antv/l7-core';
|
|
11
14
|
import BaseModel from "../../core/BaseModel";
|
|
12
15
|
import { SizeUnitType } from "../../core/interface";
|
|
13
16
|
import { PointFillTriangulation } from "../../core/triangulation";
|
|
17
|
+
|
|
14
18
|
/* babel-plugin-inline-import '../shaders/radar/radar_frag.glsl' */
|
|
15
19
|
var pointFillFrag = "\nuniform float u_additive;\nuniform float u_opacity: 1.0;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\nvarying vec2 v_exteude;\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 = sdCircle(v_data.xy, 1.0);\n float inner_df = sdCircle(v_data.xy, r);\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n gl_FragColor = vec4(v_color.rgb, v_color.a * u_opacity);\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n } else {\n gl_FragColor.a *= opacity_t;\n }\n\n if(gl_FragColor.a > 0.0) {\n gl_FragColor = filterColor(gl_FragColor);\n }\n\n vec2 extrude = v_exteude;\n vec2 dir = normalize(extrude);\n vec2 baseDir = vec2(1.0, 0.0);\n float pi = 3.14159265359;\n // full circle\n // float rades = dot(dir, baseDir);\n // float flag = sign(dir.y);\n // float radar_v = (flag - 1.0) * -0.5 + flag * acos(rades)/pi/2.0;\n \n // half circle\n float flag = sign(dir.y);\n float rades = dot(dir, baseDir);\n float radar_v = (flag - 1.0) * -0.5 * acos(rades)/pi;\n // simple AA\n if(radar_v > 0.99) {\n radar_v = 1.0 - (radar_v - 0.99)/0.01;\n }\n\n gl_FragColor.a *= radar_v;\n}\n";
|
|
20
|
+
|
|
16
21
|
/* babel-plugin-inline-import '../shaders/radar/radar_vert.glsl' */
|
|
17
22
|
var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nuniform float u_speed: 1.0;\nuniform float u_time;\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 vec2 v_exteude;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float newSize = setPickingSize(a_Size);\n\n float time = u_time * u_speed;\n mat2 rotateMatrix = mat2( \n cos(time), sin(time), \n -sin(time), cos(time)\n );\n v_exteude = rotateMatrix * a_Extrude.xy;\n\n // unpack color(vec2)\n v_color = a_Color;\n\n\n\n // anti-alias\n float blur = 0.0;\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / a_Size, blur);\n\n if(u_size_unit == 1) {\n newSize = newSize * u_PixelsPerMeter.z;\n }\n // radius(16-bit)\n v_radius = newSize;\n\n vec2 offset = (extrude.xy * (newSize));\n vec3 aPosition = a_Position;\n \n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n \n v_data = vec4(extrude.x, extrude.y, antialiasblur, -1.0);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp *vec4(project_pos.xy + offset, 0.0, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, project_pixel(setPickingOrder(0.0)), 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
23
|
+
|
|
18
24
|
var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
19
25
|
_inherits(RadarModel, _BaseModel);
|
|
26
|
+
|
|
20
27
|
var _super = _createSuper(RadarModel);
|
|
28
|
+
|
|
21
29
|
function RadarModel() {
|
|
22
30
|
_classCallCheck(this, RadarModel);
|
|
31
|
+
|
|
23
32
|
return _super.apply(this, arguments);
|
|
24
33
|
}
|
|
34
|
+
|
|
25
35
|
_createClass(RadarModel, [{
|
|
26
36
|
key: "getUninforms",
|
|
27
37
|
value: function getUninforms() {
|
|
28
38
|
var _ref = this.layer.getLayerConfig(),
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
39
|
+
_ref$opacity = _ref.opacity,
|
|
40
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
41
|
+
blend = _ref.blend,
|
|
42
|
+
_ref$speed = _ref.speed,
|
|
43
|
+
speed = _ref$speed === void 0 ? 1 : _ref$speed,
|
|
44
|
+
_ref$unit = _ref.unit,
|
|
45
|
+
unit = _ref$unit === void 0 ? 'pixel' : _ref$unit;
|
|
46
|
+
|
|
36
47
|
return {
|
|
37
48
|
u_size_unit: SizeUnitType[unit],
|
|
38
49
|
u_speed: speed,
|
|
@@ -44,10 +55,11 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
44
55
|
key: "getAnimateUniforms",
|
|
45
56
|
value: function getAnimateUniforms() {
|
|
46
57
|
var _ref2 = this.layer.getLayerConfig(),
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
58
|
+
_ref2$animateOption = _ref2.animateOption,
|
|
59
|
+
animateOption = _ref2$animateOption === void 0 ? {
|
|
60
|
+
enable: false
|
|
61
|
+
} : _ref2$animateOption;
|
|
62
|
+
|
|
51
63
|
return {
|
|
52
64
|
u_animate: this.animateOption2Array(animateOption),
|
|
53
65
|
u_time: this.layer.getLayerAnimateTime()
|
|
@@ -63,18 +75,23 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
63
75
|
value: function () {
|
|
64
76
|
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
65
77
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
66
|
-
while (1)
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
78
|
+
while (1) {
|
|
79
|
+
switch (_context.prev = _context.next) {
|
|
80
|
+
case 0:
|
|
81
|
+
return _context.abrupt("return", this.buildModels());
|
|
82
|
+
|
|
83
|
+
case 1:
|
|
84
|
+
case "end":
|
|
85
|
+
return _context.stop();
|
|
86
|
+
}
|
|
72
87
|
}
|
|
73
88
|
}, _callee, this);
|
|
74
89
|
}));
|
|
90
|
+
|
|
75
91
|
function initModels() {
|
|
76
92
|
return _initModels.apply(this, arguments);
|
|
77
93
|
}
|
|
94
|
+
|
|
78
95
|
return initModels;
|
|
79
96
|
}()
|
|
80
97
|
}, {
|
|
@@ -83,32 +100,39 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
83
100
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
84
101
|
var model;
|
|
85
102
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
86
|
-
while (1)
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
while (1) {
|
|
104
|
+
switch (_context2.prev = _context2.next) {
|
|
105
|
+
case 0:
|
|
106
|
+
_context2.next = 2;
|
|
107
|
+
return this.layer.buildLayerModel({
|
|
108
|
+
moduleName: 'pointRadar',
|
|
109
|
+
vertexShader: pointFillVert,
|
|
110
|
+
fragmentShader: pointFillFrag,
|
|
111
|
+
triangulation: PointFillTriangulation,
|
|
112
|
+
depth: {
|
|
113
|
+
enable: false
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
|
|
117
|
+
case 2:
|
|
118
|
+
model = _context2.sent;
|
|
119
|
+
return _context2.abrupt("return", [model]);
|
|
120
|
+
|
|
121
|
+
case 4:
|
|
122
|
+
case "end":
|
|
123
|
+
return _context2.stop();
|
|
124
|
+
}
|
|
104
125
|
}
|
|
105
126
|
}, _callee2, this);
|
|
106
127
|
}));
|
|
128
|
+
|
|
107
129
|
function buildModels() {
|
|
108
130
|
return _buildModels.apply(this, arguments);
|
|
109
131
|
}
|
|
132
|
+
|
|
110
133
|
return buildModels;
|
|
111
134
|
}() // overwrite baseModel func
|
|
135
|
+
|
|
112
136
|
}, {
|
|
113
137
|
key: "animateOption2Array",
|
|
114
138
|
value: function animateOption2Array(option) {
|
|
@@ -135,9 +159,8 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
135
159
|
return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
|
|
136
160
|
}
|
|
137
161
|
}
|
|
138
|
-
});
|
|
162
|
+
}); // point layer size;
|
|
139
163
|
|
|
140
|
-
// point layer size;
|
|
141
164
|
this.styleAttributeService.registerStyleAttribute({
|
|
142
165
|
name: 'size',
|
|
143
166
|
type: AttributeType.Attribute,
|
|
@@ -152,13 +175,15 @@ var RadarModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
152
175
|
size: 1,
|
|
153
176
|
update: function update(feature) {
|
|
154
177
|
var _feature$size = feature.size,
|
|
155
|
-
|
|
178
|
+
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
156
179
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
157
180
|
}
|
|
158
181
|
}
|
|
159
182
|
});
|
|
160
183
|
}
|
|
161
184
|
}]);
|
|
185
|
+
|
|
162
186
|
return RadarModel;
|
|
163
187
|
}(BaseModel);
|
|
188
|
+
|
|
164
189
|
export { RadarModel as default };
|
|
@@ -6,13 +6,18 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
|
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
7
7
|
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
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 BaseModel from "../../core/BaseModel";
|
|
13
16
|
import { rgb2arr } from '@antv/l7-utils';
|
|
17
|
+
|
|
14
18
|
/* babel-plugin-inline-import '../shaders/simplePoint_frag.glsl' */
|
|
15
19
|
var simplePointFrag = "\nuniform float u_additive;\nuniform float u_stroke_opacity : 1;\n\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\n\nvarying vec4 v_color;\nvarying float v_blur;\nvarying float v_innerRadius;\n\n#pragma include \"picking\"\nvoid main() {\n vec2 center = vec2(0.5);\n\n // Tip: \u7247\u5143\u5230\u4E2D\u5FC3\u70B9\u7684\u8DDD\u79BB 0 - 1\n float fragmengTocenter = distance(center, gl_PointCoord) * 2.0;\n // Tip: \u7247\u5143\u7684\u526A\u5207\u6210\u5706\u5F62\n float circleClipOpacity = 1.0 - smoothstep(v_blur, 1.0, fragmengTocenter);\n\n\n if(v_innerRadius < 0.99) {\n // \u5F53\u5B58\u5728 stroke \u4E14 stroke > 0.01\n float blurWidth = (1.0 - v_blur)/2.0;\n vec4 stroke = vec4(u_stroke_color.rgb, u_stroke_opacity);\n if(fragmengTocenter > v_innerRadius + blurWidth) {\n gl_FragColor = stroke;\n } else if(fragmengTocenter > v_innerRadius - blurWidth){\n float mixR = (fragmengTocenter - (v_innerRadius - blurWidth)) / (blurWidth * 2.0);\n gl_FragColor = mix(v_color, stroke, mixR);\n } else {\n gl_FragColor = v_color;\n }\n } else {\n // \u5F53\u4E0D\u5B58\u5728 stroke \u6216 stroke <= 0.01\n gl_FragColor = v_color;\n }\n\n gl_FragColor = filterColor(gl_FragColor);\n \n if(u_additive > 0.0) {\n gl_FragColor *= circleClipOpacity;\n } else {\n gl_FragColor.a *= circleClipOpacity;\n }\n\n}\n";
|
|
20
|
+
|
|
16
21
|
/* babel-plugin-inline-import '../shaders/simplePoint_vert.glsl' */
|
|
17
22
|
var simplePointVert = "\nattribute vec3 a_Position;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nattribute float a_Size;\nattribute vec4 a_Color;\nvarying vec4 v_color;\n\nuniform float u_opacity : 1;\nuniform vec2 u_offsets;\nuniform float u_stroke_width;\n\nvarying float v_blur;\nvarying float v_innerRadius;\n\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n#pragma include \"project\"\nvoid main() {\n v_color = vec4(a_Color.xyz, a_Color.w * u_opacity);\n v_blur = 1.0 - max(2.0/a_Size, 0.05);\n v_innerRadius = max((a_Size - u_stroke_width) / a_Size, 0.0);\n \n vec2 offset = project_pixel(u_offsets);\n \n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(a_Position.xy + offset, a_Position.z, 1.0);\n } else { // else\n vec4 project_pos = project_position(vec4(a_Position, 1.0)) + vec4(a_Size / 2.,-a_Size /2.,0.,0.);\n gl_Position = project_common_position_to_clipspace(vec4(vec2(project_pos.xy+offset),project_pos.z,project_pos.w));\n }\n\n gl_PointSize = a_Size * 2.0 * u_DevicePixelRatio;\n setPickingColor(a_PickingColor);\n}\n";
|
|
18
23
|
export function PointTriangulation(feature) {
|
|
@@ -23,13 +28,18 @@ export function PointTriangulation(feature) {
|
|
|
23
28
|
size: coordinates.length
|
|
24
29
|
};
|
|
25
30
|
}
|
|
31
|
+
|
|
26
32
|
var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
|
|
27
33
|
_inherits(SimplePointModel, _BaseModel);
|
|
34
|
+
|
|
28
35
|
var _super = _createSuper(SimplePointModel);
|
|
36
|
+
|
|
29
37
|
function SimplePointModel() {
|
|
30
38
|
_classCallCheck(this, SimplePointModel);
|
|
39
|
+
|
|
31
40
|
return _super.apply(this, arguments);
|
|
32
41
|
}
|
|
42
|
+
|
|
33
43
|
_createClass(SimplePointModel, [{
|
|
34
44
|
key: "getDefaultStyle",
|
|
35
45
|
value: function getDefaultStyle() {
|
|
@@ -41,17 +51,18 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
41
51
|
key: "getUninforms",
|
|
42
52
|
value: function getUninforms() {
|
|
43
53
|
var _ref = this.layer.getLayerConfig(),
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
_ref$opacity = _ref.opacity,
|
|
55
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
56
|
+
_ref$offsets = _ref.offsets,
|
|
57
|
+
offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
|
|
58
|
+
blend = _ref.blend,
|
|
59
|
+
_ref$strokeOpacity = _ref.strokeOpacity,
|
|
60
|
+
strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
|
|
61
|
+
_ref$strokeWidth = _ref.strokeWidth,
|
|
62
|
+
strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
|
|
63
|
+
_ref$stroke = _ref.stroke,
|
|
64
|
+
stroke = _ref$stroke === void 0 ? '#fff' : _ref$stroke;
|
|
65
|
+
|
|
55
66
|
return {
|
|
56
67
|
u_additive: blend === 'additive' ? 1.0 : 0.0,
|
|
57
68
|
u_opacity: opacity,
|
|
@@ -66,18 +77,23 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
66
77
|
value: function () {
|
|
67
78
|
var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
68
79
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
69
|
-
while (1)
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context.prev = _context.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
return _context.abrupt("return", this.buildModels());
|
|
84
|
+
|
|
85
|
+
case 1:
|
|
86
|
+
case "end":
|
|
87
|
+
return _context.stop();
|
|
88
|
+
}
|
|
75
89
|
}
|
|
76
90
|
}, _callee, this);
|
|
77
91
|
}));
|
|
92
|
+
|
|
78
93
|
function initModels() {
|
|
79
94
|
return _initModels.apply(this, arguments);
|
|
80
95
|
}
|
|
96
|
+
|
|
81
97
|
return initModels;
|
|
82
98
|
}()
|
|
83
99
|
}, {
|
|
@@ -86,32 +102,38 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
86
102
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
87
103
|
var model;
|
|
88
104
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
89
|
-
while (1)
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
while (1) {
|
|
106
|
+
switch (_context2.prev = _context2.next) {
|
|
107
|
+
case 0:
|
|
108
|
+
this.layer.triangulation = PointTriangulation;
|
|
109
|
+
_context2.next = 3;
|
|
110
|
+
return this.layer.buildLayerModel({
|
|
111
|
+
moduleName: 'pointSimple',
|
|
112
|
+
vertexShader: simplePointVert,
|
|
113
|
+
fragmentShader: simplePointFrag,
|
|
114
|
+
triangulation: PointTriangulation,
|
|
115
|
+
depth: {
|
|
116
|
+
enable: false
|
|
117
|
+
},
|
|
118
|
+
primitive: gl.POINTS
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
case 3:
|
|
122
|
+
model = _context2.sent;
|
|
123
|
+
return _context2.abrupt("return", [model]);
|
|
124
|
+
|
|
125
|
+
case 5:
|
|
126
|
+
case "end":
|
|
127
|
+
return _context2.stop();
|
|
128
|
+
}
|
|
109
129
|
}
|
|
110
130
|
}, _callee2, this);
|
|
111
131
|
}));
|
|
132
|
+
|
|
112
133
|
function buildModels() {
|
|
113
134
|
return _buildModels.apply(this, arguments);
|
|
114
135
|
}
|
|
136
|
+
|
|
115
137
|
return buildModels;
|
|
116
138
|
}()
|
|
117
139
|
}, {
|
|
@@ -130,13 +152,15 @@ var SimplePointModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
130
152
|
size: 1,
|
|
131
153
|
update: function update(feature) {
|
|
132
154
|
var _feature$size = feature.size,
|
|
133
|
-
|
|
155
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
134
156
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
135
157
|
}
|
|
136
158
|
}
|
|
137
159
|
});
|
|
138
160
|
}
|
|
139
161
|
}]);
|
|
162
|
+
|
|
140
163
|
return SimplePointModel;
|
|
141
164
|
}(BaseModel);
|
|
165
|
+
|
|
142
166
|
export { SimplePointModel as default };
|