@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
package/lib/earth/index.js
CHANGED
|
@@ -1,40 +1,63 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
9
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
10
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
11
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
12
18
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
+
|
|
13
20
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
14
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
15
24
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
16
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
17
28
|
var _BaseLayer2 = _interopRequireDefault(require("../core/BaseLayer"));
|
|
29
|
+
|
|
18
30
|
var _atmosphere = _interopRequireDefault(require("./models/atmosphere"));
|
|
31
|
+
|
|
19
32
|
var _base = _interopRequireDefault(require("./models/base"));
|
|
33
|
+
|
|
20
34
|
var _bloomsphere = _interopRequireDefault(require("./models/bloomsphere"));
|
|
35
|
+
|
|
21
36
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
37
|
+
|
|
22
38
|
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; } }
|
|
39
|
+
|
|
23
40
|
var EarthModels = {
|
|
24
41
|
base: _base.default,
|
|
25
42
|
atomSphere: _atmosphere.default,
|
|
26
43
|
bloomSphere: _bloomsphere.default
|
|
27
44
|
};
|
|
28
45
|
var earthLayerTypes = ['base', 'atomSphere', 'bloomSphere'];
|
|
46
|
+
|
|
29
47
|
var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
30
48
|
(0, _inherits2.default)(EarthLayer, _BaseLayer);
|
|
49
|
+
|
|
31
50
|
var _super = _createSuper(EarthLayer);
|
|
51
|
+
|
|
32
52
|
function EarthLayer() {
|
|
33
53
|
var _this;
|
|
54
|
+
|
|
34
55
|
(0, _classCallCheck2.default)(this, EarthLayer);
|
|
56
|
+
|
|
35
57
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
36
58
|
args[_key] = arguments[_key];
|
|
37
59
|
}
|
|
60
|
+
|
|
38
61
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
39
62
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", 'EarthLayer');
|
|
40
63
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "defaultSourceConfig", {
|
|
@@ -47,33 +70,40 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
47
70
|
});
|
|
48
71
|
return _this;
|
|
49
72
|
}
|
|
73
|
+
|
|
50
74
|
(0, _createClass2.default)(EarthLayer, [{
|
|
51
75
|
key: "buildModels",
|
|
52
76
|
value: function () {
|
|
53
77
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
54
78
|
var shape;
|
|
55
79
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
56
|
-
while (1)
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
80
|
+
while (1) {
|
|
81
|
+
switch (_context.prev = _context.next) {
|
|
82
|
+
case 0:
|
|
83
|
+
shape = this.getModelType();
|
|
84
|
+
this.layerModel = new EarthModels[shape](this);
|
|
85
|
+
_context.next = 4;
|
|
86
|
+
return this.initLayerModels();
|
|
87
|
+
|
|
88
|
+
case 4:
|
|
89
|
+
case "end":
|
|
90
|
+
return _context.stop();
|
|
91
|
+
}
|
|
65
92
|
}
|
|
66
93
|
}, _callee, this);
|
|
67
94
|
}));
|
|
95
|
+
|
|
68
96
|
function buildModels() {
|
|
69
97
|
return _buildModels.apply(this, arguments);
|
|
70
98
|
}
|
|
99
|
+
|
|
71
100
|
return buildModels;
|
|
72
101
|
}()
|
|
73
102
|
/**
|
|
74
103
|
* 设置当前地球时间
|
|
75
104
|
* @param time
|
|
76
105
|
*/
|
|
106
|
+
|
|
77
107
|
}, {
|
|
78
108
|
key: "setEarthTime",
|
|
79
109
|
value: function setEarthTime(time) {
|
|
@@ -87,14 +117,18 @@ var EarthLayer = /*#__PURE__*/function (_BaseLayer) {
|
|
|
87
117
|
key: "getModelType",
|
|
88
118
|
value: function getModelType() {
|
|
89
119
|
var _shapeAttribute$scale;
|
|
120
|
+
|
|
90
121
|
var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
91
122
|
var shape = (shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field) || 'base';
|
|
123
|
+
|
|
92
124
|
if (earthLayerTypes.indexOf(shape) < 0) {
|
|
93
125
|
shape = 'base';
|
|
94
126
|
}
|
|
127
|
+
|
|
95
128
|
return shape;
|
|
96
129
|
}
|
|
97
130
|
}]);
|
|
98
131
|
return EarthLayer;
|
|
99
132
|
}(_BaseLayer2.default);
|
|
133
|
+
|
|
100
134
|
exports.default = EarthLayer;
|
|
@@ -1,40 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
9
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
10
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
11
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
12
18
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
13
20
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
14
22
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
15
24
|
var _l7Core = require("@antv/l7-core");
|
|
25
|
+
|
|
16
26
|
var _lodash = require("lodash");
|
|
27
|
+
|
|
17
28
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
29
|
+
|
|
18
30
|
var _triangulation = require("../../core/triangulation");
|
|
31
|
+
|
|
19
32
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
33
|
+
|
|
20
34
|
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; } }
|
|
35
|
+
|
|
21
36
|
/* babel-plugin-inline-import '../shaders/atmosphere_frag.glsl' */
|
|
22
37
|
var atmoSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\n\nvarying vec3 vVertexNormal;\nvarying float v_offset;\nvarying vec4 v_Color;\nvoid main() {\n \n \n // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n // \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
|
|
38
|
+
|
|
23
39
|
/* babel-plugin-inline-import '../shaders/atmosphere_vert.glsl' */
|
|
24
40
|
var atmoSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nvarying float v_CamreaDistance;\n\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\nvarying float v_offset;\n\nvoid main() {\n float EARTH_RADIUS = 100.0;\n \n v_Color = a_Color;\n\n v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
|
|
41
|
+
|
|
25
42
|
var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
|
|
26
43
|
(0, _inherits2.default)(EarthAtomSphereModel, _BaseModel);
|
|
44
|
+
|
|
27
45
|
var _super = _createSuper(EarthAtomSphereModel);
|
|
46
|
+
|
|
28
47
|
function EarthAtomSphereModel() {
|
|
29
48
|
(0, _classCallCheck2.default)(this, EarthAtomSphereModel);
|
|
30
49
|
return _super.apply(this, arguments);
|
|
31
50
|
}
|
|
51
|
+
|
|
32
52
|
(0, _createClass2.default)(EarthAtomSphereModel, [{
|
|
33
53
|
key: "getUninforms",
|
|
34
54
|
value: function getUninforms() {
|
|
35
55
|
var _ref = this.layer.getLayerConfig(),
|
|
36
|
-
|
|
37
|
-
|
|
56
|
+
_ref$opacity = _ref.opacity,
|
|
57
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
|
|
58
|
+
|
|
38
59
|
return {
|
|
39
60
|
u_opacity: (0, _lodash.isNumber)(opacity) ? opacity : 1.0
|
|
40
61
|
};
|
|
@@ -44,18 +65,23 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
44
65
|
value: function () {
|
|
45
66
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
46
67
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
47
|
-
while (1)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
68
|
+
while (1) {
|
|
69
|
+
switch (_context.prev = _context.next) {
|
|
70
|
+
case 0:
|
|
71
|
+
return _context.abrupt("return", this.buildModels());
|
|
72
|
+
|
|
73
|
+
case 1:
|
|
74
|
+
case "end":
|
|
75
|
+
return _context.stop();
|
|
76
|
+
}
|
|
53
77
|
}
|
|
54
78
|
}, _callee, this);
|
|
55
79
|
}));
|
|
80
|
+
|
|
56
81
|
function initModels() {
|
|
57
82
|
return _initModels.apply(this, arguments);
|
|
58
83
|
}
|
|
84
|
+
|
|
59
85
|
return initModels;
|
|
60
86
|
}()
|
|
61
87
|
}, {
|
|
@@ -69,33 +95,39 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
69
95
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
70
96
|
var model;
|
|
71
97
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
72
|
-
while (1)
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
98
|
+
while (1) {
|
|
99
|
+
switch (_context2.prev = _context2.next) {
|
|
100
|
+
case 0:
|
|
101
|
+
// TODO: 调整图层的绘制顺序 地球大气层
|
|
102
|
+
this.layer.zIndex = -997;
|
|
103
|
+
_context2.next = 3;
|
|
104
|
+
return this.layer.buildLayerModel({
|
|
105
|
+
moduleName: 'earthAtmoSphere',
|
|
106
|
+
vertexShader: atmoSphereVert,
|
|
107
|
+
fragmentShader: atmoSphereFrag,
|
|
108
|
+
triangulation: _triangulation.earthTriangulation,
|
|
109
|
+
depth: {
|
|
110
|
+
enable: false
|
|
111
|
+
},
|
|
112
|
+
blend: this.getBlend()
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
case 3:
|
|
116
|
+
model = _context2.sent;
|
|
117
|
+
return _context2.abrupt("return", [model]);
|
|
118
|
+
|
|
119
|
+
case 5:
|
|
120
|
+
case "end":
|
|
121
|
+
return _context2.stop();
|
|
122
|
+
}
|
|
93
123
|
}
|
|
94
124
|
}, _callee2, this);
|
|
95
125
|
}));
|
|
126
|
+
|
|
96
127
|
function buildModels() {
|
|
97
128
|
return _buildModels.apply(this, arguments);
|
|
98
129
|
}
|
|
130
|
+
|
|
99
131
|
return buildModels;
|
|
100
132
|
}()
|
|
101
133
|
}, {
|
|
@@ -115,7 +147,7 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
115
147
|
size: 1,
|
|
116
148
|
update: function update(feature) {
|
|
117
149
|
var _feature$size = feature.size,
|
|
118
|
-
|
|
150
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
119
151
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
120
152
|
}
|
|
121
153
|
}
|
|
@@ -156,4 +188,5 @@ var EarthAtomSphereModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
156
188
|
}]);
|
|
157
189
|
return EarthAtomSphereModel;
|
|
158
190
|
}(_BaseModel2.default);
|
|
191
|
+
|
|
159
192
|
exports.default = EarthAtomSphereModel;
|
package/lib/earth/models/base.js
CHANGED
|
@@ -1,37 +1,60 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.default = void 0;
|
|
9
|
+
|
|
8
10
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
9
12
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
13
|
+
|
|
10
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
11
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
12
18
|
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
19
|
+
|
|
13
20
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
14
22
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
15
24
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
16
26
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
|
+
|
|
17
28
|
var _l7Core = require("@antv/l7-core");
|
|
29
|
+
|
|
18
30
|
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
31
|
+
|
|
19
32
|
var _triangulation = require("../../core/triangulation");
|
|
33
|
+
|
|
20
34
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
35
|
+
|
|
21
36
|
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; } }
|
|
37
|
+
|
|
22
38
|
/* babel-plugin-inline-import '../shaders/base_frag.glsl' */
|
|
23
39
|
var baseFrag = "\nuniform sampler2D u_texture;\n\nvarying vec2 v_texCoord;\nvarying float v_lightWeight;\n\n\nvoid main() {\n\n vec4 color = texture2D(u_texture,vec2(v_texCoord.x,v_texCoord.y));\n color.xyz = color.xyz * v_lightWeight;\n gl_FragColor = color;\n}\n";
|
|
40
|
+
|
|
24
41
|
/* babel-plugin-inline-import '../shaders/base_vert.glsl' */
|
|
25
42
|
var baseVert = "// attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nvarying vec2 v_texCoord;\n\n// attribute vec2 a_Extrude;\n// attribute float a_Size;\n// attribute float a_Shape;\n\nuniform vec3 u_CameraPosition;\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform float u_ambientRatio : 0.5;\nuniform float u_diffuseRatio : 0.3;\nuniform float u_specularRatio : 0.2;\nuniform vec3 u_sunLight: [1.0, -10.5, 12.0];\n\n\n\nfloat calc_lighting(vec4 pos) {\n\n vec3 worldPos = vec3(pos * u_ModelMatrix);\n\n vec3 worldNormal = a_Normal;\n\n // cal light weight\n vec3 viewDir = normalize(u_CameraPosition - worldPos);\n\n vec3 lightDir = normalize(u_sunLight);\n\n vec3 halfDir = normalize(viewDir+lightDir);\n // lambert\n float lambert = dot(worldNormal, lightDir);\n // specular\n float specular = pow(max(0.0, dot(worldNormal, halfDir)), 32.0);\n //sum to light weight\n float lightWeight = u_ambientRatio + u_diffuseRatio * lambert + u_specularRatio * specular;\n\n return lightWeight;\n}\n\nvarying float v_lightWeight;\nvoid main() {\n\n v_texCoord = a_Uv;\n\n float lightWeight = calc_lighting(vec4(a_Position, 1.0));\n v_lightWeight = lightWeight;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
|
|
43
|
+
|
|
26
44
|
var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
27
45
|
(0, _inherits2.default)(BaseEarthModel, _BaseModel);
|
|
46
|
+
|
|
28
47
|
var _super = _createSuper(BaseEarthModel);
|
|
48
|
+
|
|
29
49
|
function BaseEarthModel() {
|
|
30
50
|
var _this;
|
|
51
|
+
|
|
31
52
|
(0, _classCallCheck2.default)(this, BaseEarthModel);
|
|
53
|
+
|
|
32
54
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
33
55
|
args[_key] = arguments[_key];
|
|
34
56
|
}
|
|
57
|
+
|
|
35
58
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
36
59
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "earthTime", 3.4);
|
|
37
60
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sunX", 1000);
|
|
@@ -40,12 +63,14 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
40
63
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sunRadius", Math.sqrt(_this.sunX * _this.sunX + _this.sunY * _this.sunY + _this.sunZ * _this.sunZ));
|
|
41
64
|
return _this;
|
|
42
65
|
}
|
|
66
|
+
|
|
43
67
|
(0, _createClass2.default)(BaseEarthModel, [{
|
|
44
68
|
key: "getUninforms",
|
|
45
69
|
value: function getUninforms() {
|
|
46
70
|
var _this$layer$getLayerC = this.layer.getLayerConfig(),
|
|
47
|
-
|
|
48
|
-
|
|
71
|
+
animateOption = _this$layer$getLayerC.animateOption,
|
|
72
|
+
globalOptions = _this$layer$getLayerC.globalOptions;
|
|
73
|
+
|
|
49
74
|
if (animateOption !== null && animateOption !== void 0 && animateOption.enable) {
|
|
50
75
|
// @ts-ignore
|
|
51
76
|
// T: rotateY 方法只有在地球模式下存在
|
|
@@ -57,6 +82,7 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
57
82
|
this.sunX = Math.cos(this.earthTime) * (this.sunRadius - this.sunY);
|
|
58
83
|
this.sunZ = Math.sin(this.earthTime) * (this.sunRadius - this.sunY);
|
|
59
84
|
}
|
|
85
|
+
|
|
60
86
|
return {
|
|
61
87
|
u_ambientRatio: (globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.ambientRatio) || 0.6,
|
|
62
88
|
// 环境光
|
|
@@ -82,38 +108,48 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
82
108
|
value: function () {
|
|
83
109
|
var _initModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
84
110
|
var _this2 = this;
|
|
111
|
+
|
|
85
112
|
var _this$layer$getLayerC2, globalOptions, source, createTexture2D;
|
|
113
|
+
|
|
86
114
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
87
|
-
while (1)
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
115
|
+
while (1) {
|
|
116
|
+
switch (_context.prev = _context.next) {
|
|
117
|
+
case 0:
|
|
118
|
+
_this$layer$getLayerC2 = this.layer.getLayerConfig(), globalOptions = _this$layer$getLayerC2.globalOptions;
|
|
119
|
+
|
|
120
|
+
if ((globalOptions === null || globalOptions === void 0 ? void 0 : globalOptions.earthTime) !== undefined) {
|
|
121
|
+
this.setEarthTime(globalOptions.earthTime);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
source = this.layer.getSource();
|
|
125
|
+
createTexture2D = this.rendererService.createTexture2D;
|
|
126
|
+
this.texture = createTexture2D({
|
|
127
|
+
height: 0,
|
|
128
|
+
width: 0
|
|
129
|
+
});
|
|
130
|
+
source.data.images.then(function (imageData) {
|
|
131
|
+
_this2.texture = createTexture2D({
|
|
132
|
+
data: imageData[0],
|
|
133
|
+
width: imageData[0].width,
|
|
134
|
+
height: imageData[0].height
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
_this2.layerService.reRender();
|
|
104
138
|
});
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
139
|
+
return _context.abrupt("return", this.buildModels());
|
|
140
|
+
|
|
141
|
+
case 7:
|
|
142
|
+
case "end":
|
|
143
|
+
return _context.stop();
|
|
144
|
+
}
|
|
111
145
|
}
|
|
112
146
|
}, _callee, this);
|
|
113
147
|
}));
|
|
148
|
+
|
|
114
149
|
function initModels() {
|
|
115
150
|
return _initModels.apply(this, arguments);
|
|
116
151
|
}
|
|
152
|
+
|
|
117
153
|
return initModels;
|
|
118
154
|
}()
|
|
119
155
|
}, {
|
|
@@ -127,33 +163,39 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
127
163
|
var _buildModels = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
|
|
128
164
|
var model;
|
|
129
165
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
130
|
-
while (1)
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
166
|
+
while (1) {
|
|
167
|
+
switch (_context2.prev = _context2.next) {
|
|
168
|
+
case 0:
|
|
169
|
+
// Tip: 调整图层的绘制顺序 地球大气层
|
|
170
|
+
this.layer.zIndex = -998;
|
|
171
|
+
_context2.next = 3;
|
|
172
|
+
return this.layer.buildLayerModel({
|
|
173
|
+
moduleName: 'earthBase',
|
|
174
|
+
vertexShader: baseVert,
|
|
175
|
+
fragmentShader: baseFrag,
|
|
176
|
+
triangulation: _triangulation.earthTriangulation,
|
|
177
|
+
depth: {
|
|
178
|
+
enable: true
|
|
179
|
+
},
|
|
180
|
+
blend: this.getBlend()
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
case 3:
|
|
184
|
+
model = _context2.sent;
|
|
185
|
+
return _context2.abrupt("return", [model]);
|
|
186
|
+
|
|
187
|
+
case 5:
|
|
188
|
+
case "end":
|
|
189
|
+
return _context2.stop();
|
|
190
|
+
}
|
|
151
191
|
}
|
|
152
192
|
}, _callee2, this);
|
|
153
193
|
}));
|
|
194
|
+
|
|
154
195
|
function buildModels() {
|
|
155
196
|
return _buildModels.apply(this, arguments);
|
|
156
197
|
}
|
|
198
|
+
|
|
157
199
|
return buildModels;
|
|
158
200
|
}()
|
|
159
201
|
}, {
|
|
@@ -172,7 +214,7 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
172
214
|
size: 1,
|
|
173
215
|
update: function update(feature) {
|
|
174
216
|
var _feature$size = feature.size,
|
|
175
|
-
|
|
217
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
176
218
|
return Array.isArray(size) ? [size[0]] : [size];
|
|
177
219
|
}
|
|
178
220
|
}
|
|
@@ -214,4 +256,5 @@ var BaseEarthModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
214
256
|
}]);
|
|
215
257
|
return BaseEarthModel;
|
|
216
258
|
}(_BaseModel2.default);
|
|
259
|
+
|
|
217
260
|
exports.default = BaseEarthModel;
|