@antv/l7-layers 2.9.25-alpha.0 → 2.9.25

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.
Files changed (125) hide show
  1. package/es/heatmap/models/heatmap.js +1 -1
  2. package/es/tile/utils.js +1 -1
  3. package/lib/Geometry/index.js +114 -77
  4. package/lib/Geometry/models/billboard.js +232 -181
  5. package/lib/Geometry/models/index.js +18 -34
  6. package/lib/Geometry/models/plane.js +407 -278
  7. package/lib/Geometry/models/sprite.js +291 -189
  8. package/lib/canvas/index.js +101 -66
  9. package/lib/canvas/models/canvas.js +207 -140
  10. package/lib/canvas/models/index.js +12 -30
  11. package/lib/citybuliding/building.js +98 -63
  12. package/lib/citybuliding/models/build.js +192 -146
  13. package/lib/core/BaseLayer.js +1331 -814
  14. package/lib/core/BaseModel.js +457 -279
  15. package/lib/core/interface.js +40 -53
  16. package/lib/core/schema.js +21 -39
  17. package/lib/core/shape/Path.js +67 -79
  18. package/lib/core/shape/extrude.js +132 -91
  19. package/lib/core/triangulation.js +378 -196
  20. package/lib/earth/index.js +100 -62
  21. package/lib/earth/models/atmosphere.js +146 -112
  22. package/lib/earth/models/base.js +210 -150
  23. package/lib/earth/models/bloomsphere.js +146 -112
  24. package/lib/earth/utils.js +111 -91
  25. package/lib/heatmap/index.js +149 -92
  26. package/lib/heatmap/models/grid.js +118 -91
  27. package/lib/heatmap/models/grid3d.js +155 -123
  28. package/lib/heatmap/models/heatmap.js +475 -338
  29. package/lib/heatmap/models/hexagon.js +121 -92
  30. package/lib/heatmap/models/index.js +22 -37
  31. package/lib/heatmap/triangulation.js +31 -47
  32. package/lib/image/index.js +111 -74
  33. package/lib/image/models/dataImage.js +232 -174
  34. package/lib/image/models/image.js +175 -128
  35. package/lib/image/models/index.js +15 -32
  36. package/lib/index.js +263 -97
  37. package/lib/line/index.js +131 -85
  38. package/lib/line/models/arc.js +352 -237
  39. package/lib/line/models/arc_3d.js +334 -228
  40. package/lib/line/models/earthArc_3d.js +336 -228
  41. package/lib/line/models/great_circle.js +291 -200
  42. package/lib/line/models/half.js +286 -201
  43. package/lib/line/models/index.js +42 -50
  44. package/lib/line/models/line.js +428 -299
  45. package/lib/line/models/linearline.js +277 -203
  46. package/lib/line/models/simpleLine.js +239 -175
  47. package/lib/line/models/tile.js +348 -237
  48. package/lib/line/models/wall.js +327 -235
  49. package/lib/mask/index.js +92 -59
  50. package/lib/mask/models/fill.js +134 -82
  51. package/lib/mask/models/index.js +12 -30
  52. package/lib/plugins/DataMappingPlugin.js +342 -224
  53. package/lib/plugins/DataSourcePlugin.js +102 -87
  54. package/lib/plugins/FeatureScalePlugin.js +330 -240
  55. package/lib/plugins/LayerAnimateStylePlugin.js +61 -55
  56. package/lib/plugins/LayerModelPlugin.js +80 -73
  57. package/lib/plugins/LayerStylePlugin.js +48 -51
  58. package/lib/plugins/LightingPlugin.js +80 -68
  59. package/lib/plugins/MultiPassRendererPlugin.js +91 -65
  60. package/lib/plugins/PixelPickingPlugin.js +150 -109
  61. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -110
  62. package/lib/plugins/ShaderUniformPlugin.js +118 -99
  63. package/lib/plugins/UpdateModelPlugin.js +40 -47
  64. package/lib/plugins/UpdateStyleAttributePlugin.js +93 -75
  65. package/lib/point/index.js +226 -150
  66. package/lib/point/models/earthExtrude.js +279 -201
  67. package/lib/point/models/earthFill.js +287 -202
  68. package/lib/point/models/extrude.js +299 -203
  69. package/lib/point/models/fill.js +406 -275
  70. package/lib/point/models/fillmage.js +365 -256
  71. package/lib/point/models/image.js +241 -168
  72. package/lib/point/models/index.js +46 -52
  73. package/lib/point/models/normal.js +183 -134
  74. package/lib/point/models/radar.js +304 -211
  75. package/lib/point/models/simplePoint.js +194 -142
  76. package/lib/point/models/text.js +608 -385
  77. package/lib/point/models/tile.js +314 -223
  78. package/lib/point/shape/extrude.js +56 -52
  79. package/lib/polygon/index.js +154 -102
  80. package/lib/polygon/models/extrude.js +311 -223
  81. package/lib/polygon/models/fill.js +215 -153
  82. package/lib/polygon/models/index.js +46 -52
  83. package/lib/polygon/models/ocean.js +244 -173
  84. package/lib/polygon/models/tile.js +144 -100
  85. package/lib/polygon/models/water.js +222 -153
  86. package/lib/raster/buffers/triangulation.js +27 -40
  87. package/lib/raster/index.js +115 -75
  88. package/lib/raster/models/index.js +16 -33
  89. package/lib/raster/models/raster.js +178 -135
  90. package/lib/raster/raster.js +187 -132
  91. package/lib/tile/interface.js +4 -16
  92. package/lib/tile/manager/tileConfigManager.js +125 -86
  93. package/lib/tile/manager/tileLayerManager.js +313 -229
  94. package/lib/tile/manager/tilePickerManager.js +192 -123
  95. package/lib/tile/models/tileModel.js +71 -52
  96. package/lib/tile/tileFactory/base.js +432 -309
  97. package/lib/tile/tileFactory/index.js +51 -49
  98. package/lib/tile/tileFactory/line.js +65 -50
  99. package/lib/tile/tileFactory/point.js +65 -50
  100. package/lib/tile/tileFactory/polygon.js +65 -50
  101. package/lib/tile/tileFactory/raster.js +66 -54
  102. package/lib/tile/tileFactory/rasterData.js +88 -76
  103. package/lib/tile/tileFactory/rasterDataLayer.js +97 -62
  104. package/lib/tile/tileFactory/vectorLayer.js +168 -109
  105. package/lib/tile/tileLayer/baseTileLayer.js +420 -221
  106. package/lib/tile/tmsTileLayer.js +110 -67
  107. package/lib/tile/utils.js +110 -92
  108. package/lib/utils/blend.js +59 -79
  109. package/lib/utils/collision-index.js +107 -64
  110. package/lib/utils/dataMappingStyle.js +105 -60
  111. package/lib/utils/extrude_polyline.js +600 -398
  112. package/lib/utils/grid-index.js +163 -111
  113. package/lib/utils/layerData.js +130 -99
  114. package/lib/utils/multiPassRender.js +49 -41
  115. package/lib/utils/polylineNormal.js +148 -96
  116. package/lib/utils/simpleLine.js +100 -85
  117. package/lib/utils/symbol-layout.js +219 -116
  118. package/lib/utils/updateShape.js +15 -41
  119. package/lib/wind/index.js +109 -71
  120. package/lib/wind/models/index.js +12 -30
  121. package/lib/wind/models/utils.js +144 -105
  122. package/lib/wind/models/wind.js +333 -224
  123. package/lib/wind/models/windRender.js +329 -218
  124. package/lib/wind/models/windShader.js +23 -181
  125. package/package.json +6 -6
@@ -1,58 +1,64 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var __decorateClass = (decorators, target, key, kind) => {
19
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
20
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
21
- if (decorator = decorators[i])
22
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
23
- if (kind && result)
24
- __defProp(target, key, result);
25
- return result;
26
- };
27
-
28
- // src/plugins/LayerAnimateStylePlugin.ts
29
- var LayerAnimateStylePlugin_exports = {};
30
- __export(LayerAnimateStylePlugin_exports, {
31
- default: () => LayerAnimateStylePlugin
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
32
7
  });
33
- module.exports = __toCommonJS(LayerAnimateStylePlugin_exports);
34
- var import_l7_core = require("@antv/l7-core");
35
- var import_inversify = require("inversify");
36
- var import_reflect_metadata = require("reflect-metadata");
37
- var LayerAnimateStylePlugin = class {
38
- apply(layer) {
39
- layer.hooks.beforeRender.tap("LayerAnimateStylePlugin", () => {
40
- layer.models.forEach((model) => {
41
- model.addUniforms({
42
- ...layer.layerModel.getAnimateUniforms()
8
+ exports.default = void 0;
9
+
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+
12
+ var _initializerDefineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerDefineProperty"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
19
+
20
+ var _applyDecoratedDescriptor2 = _interopRequireDefault(require("@babel/runtime/helpers/applyDecoratedDescriptor"));
21
+
22
+ var _initializerWarningHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/initializerWarningHelper"));
23
+
24
+ var _l7Core = require("@antv/l7-core");
25
+
26
+ var _inversify = require("inversify");
27
+
28
+ require("reflect-metadata");
29
+
30
+ var _dec, _dec2, _dec3, _class, _class2, _descriptor, _descriptor2;
31
+
32
+ var LayerAnimateStylePlugin = (_dec = (0, _inversify.injectable)(), _dec2 = (0, _inversify.inject)(_l7Core.TYPES.ICameraService), _dec3 = (0, _inversify.inject)(_l7Core.TYPES.IRendererService), _dec(_class = (_class2 = /*#__PURE__*/function () {
33
+ function LayerAnimateStylePlugin() {
34
+ (0, _classCallCheck2.default)(this, LayerAnimateStylePlugin);
35
+ (0, _initializerDefineProperty2.default)(this, "cameraService", _descriptor, this);
36
+ (0, _initializerDefineProperty2.default)(this, "rendererService", _descriptor2, this);
37
+ }
38
+
39
+ (0, _createClass2.default)(LayerAnimateStylePlugin, [{
40
+ key: "apply",
41
+ value: function apply(layer) {
42
+ // layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', () => {
43
+ // })
44
+ layer.hooks.beforeRender.tap('LayerAnimateStylePlugin', function () {
45
+ // 重新计算坐标系参数
46
+ layer.models.forEach(function (model) {
47
+ model.addUniforms((0, _objectSpread2.default)({}, layer.layerModel.getAnimateUniforms()));
43
48
  });
44
49
  });
45
- });
46
- }
47
- };
48
- __decorateClass([
49
- (0, import_inversify.inject)(import_l7_core.TYPES.ICameraService)
50
- ], LayerAnimateStylePlugin.prototype, "cameraService", 2);
51
- __decorateClass([
52
- (0, import_inversify.inject)(import_l7_core.TYPES.IRendererService)
53
- ], LayerAnimateStylePlugin.prototype, "rendererService", 2);
54
- LayerAnimateStylePlugin = __decorateClass([
55
- (0, import_inversify.injectable)()
56
- ], LayerAnimateStylePlugin);
57
- // Annotate the CommonJS export names for ESM import in node:
58
- 0 && (module.exports = {});
50
+ }
51
+ }]);
52
+ return LayerAnimateStylePlugin;
53
+ }(), (_descriptor = (0, _applyDecoratedDescriptor2.default)(_class2.prototype, "cameraService", [_dec2], {
54
+ configurable: true,
55
+ enumerable: true,
56
+ writable: true,
57
+ initializer: null
58
+ }), _descriptor2 = (0, _applyDecoratedDescriptor2.default)(_class2.prototype, "rendererService", [_dec3], {
59
+ configurable: true,
60
+ enumerable: true,
61
+ writable: true,
62
+ initializer: null
63
+ })), _class2)) || _class);
64
+ exports.default = LayerAnimateStylePlugin;
@@ -1,75 +1,82 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var __decorateClass = (decorators, target, key, kind) => {
19
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
20
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
21
- if (decorator = decorators[i])
22
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
23
- if (kind && result)
24
- __defProp(target, key, result);
25
- return result;
26
- };
27
-
28
- // src/plugins/LayerModelPlugin.ts
29
- var LayerModelPlugin_exports = {};
30
- __export(LayerModelPlugin_exports, {
31
- default: () => LayerModelPlugin
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
32
7
  });
33
- module.exports = __toCommonJS(LayerModelPlugin_exports);
34
- var import_inversify = require("inversify");
35
- var import_reflect_metadata = require("reflect-metadata");
36
- var LayerModelPlugin = class {
37
- initLayerModel(layer) {
38
- layer.prepareBuildModel();
39
- layer.buildModels();
40
- layer.emit("modelLoaded", null);
41
- layer.styleNeedUpdate = false;
42
- }
43
- prepareLayerModel(layer) {
44
- layer.prepareBuildModel();
45
- layer.clearModels();
46
- layer.buildModels();
47
- layer.emit("modelLoaded", null);
48
- layer.layerModelNeedUpdate = false;
49
- }
50
- apply(layer) {
51
- layer.hooks.init.tap("LayerModelPlugin", () => {
52
- layer.inited = true;
53
- const source = layer.getSource();
54
- if (source.inited) {
55
- this.initLayerModel(layer);
56
- }
57
- });
58
- layer.hooks.beforeRenderData.tap("DataSourcePlugin", () => {
59
- const source = layer.getSource();
60
- if (source.inited) {
61
- this.prepareLayerModel(layer);
62
- } else {
63
- source.once("sourceUpdate", () => {
64
- this.prepareLayerModel(layer);
65
- });
66
- }
67
- return false;
68
- });
8
+ exports.default = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inversify = require("inversify");
15
+
16
+ require("reflect-metadata");
17
+
18
+ var _dec, _class;
19
+
20
+ var LayerModelPlugin = (
21
+ /**
22
+ * Layer Model 初始化,更新,销毁
23
+ */
24
+ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
25
+ function LayerModelPlugin() {
26
+ (0, _classCallCheck2.default)(this, LayerModelPlugin);
69
27
  }
70
- };
71
- LayerModelPlugin = __decorateClass([
72
- (0, import_inversify.injectable)()
73
- ], LayerModelPlugin);
74
- // Annotate the CommonJS export names for ESM import in node:
75
- 0 && (module.exports = {});
28
+
29
+ (0, _createClass2.default)(LayerModelPlugin, [{
30
+ key: "initLayerModel",
31
+ value: function initLayerModel(layer) {
32
+ // 更新Model 配置项
33
+ layer.prepareBuildModel(); // 初始化 Model
34
+
35
+ layer.buildModels(); // emit layer model loaded
36
+
37
+ layer.emit('modelLoaded', null);
38
+ layer.styleNeedUpdate = false;
39
+ }
40
+ }, {
41
+ key: "prepareLayerModel",
42
+ value: function prepareLayerModel(layer) {
43
+ // 更新Model 配置项
44
+ layer.prepareBuildModel();
45
+ layer.clearModels(); // 初始化 Model
46
+
47
+ layer.buildModels(); // emit layer model loaded
48
+
49
+ layer.emit('modelLoaded', null);
50
+ layer.layerModelNeedUpdate = false;
51
+ }
52
+ }, {
53
+ key: "apply",
54
+ value: function apply(layer) {
55
+ var _this = this;
56
+
57
+ layer.hooks.init.tap('LayerModelPlugin', function () {
58
+ layer.inited = true;
59
+ var source = layer.getSource();
60
+
61
+ if (source.inited) {
62
+ _this.initLayerModel(layer);
63
+ }
64
+ });
65
+ layer.hooks.beforeRenderData.tap('DataSourcePlugin', function () {
66
+ var source = layer.getSource();
67
+
68
+ if (source.inited) {
69
+ _this.prepareLayerModel(layer);
70
+ } else {
71
+ source.once('sourceUpdate', function () {
72
+ _this.prepareLayerModel(layer);
73
+ });
74
+ }
75
+
76
+ return false;
77
+ });
78
+ }
79
+ }]);
80
+ return LayerModelPlugin;
81
+ }()) || _class);
82
+ exports.default = LayerModelPlugin;
@@ -1,53 +1,50 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var __decorateClass = (decorators, target, key, kind) => {
19
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
20
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
21
- if (decorator = decorators[i])
22
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
23
- if (kind && result)
24
- __defProp(target, key, result);
25
- return result;
26
- };
27
-
28
- // src/plugins/LayerStylePlugin.ts
29
- var LayerStylePlugin_exports = {};
30
- __export(LayerStylePlugin_exports, {
31
- default: () => LayerStylePlugin
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
32
7
  });
33
- module.exports = __toCommonJS(LayerStylePlugin_exports);
34
- var import_inversify = require("inversify");
35
- var import_reflect_metadata = require("reflect-metadata");
36
- var LayerStylePlugin = class {
37
- apply(layer) {
38
- layer.hooks.afterInit.tap("LayerStylePlugin", () => {
39
- layer.updateLayerConfig({});
40
- const { autoFit, fitBoundsOptions } = layer.getLayerConfig();
41
- if (autoFit) {
42
- setTimeout(() => {
43
- layer.fitBounds(fitBoundsOptions);
44
- }, 100);
45
- }
46
- });
8
+ exports.default = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inversify = require("inversify");
15
+
16
+ require("reflect-metadata");
17
+
18
+ var _dec, _class;
19
+
20
+ var LayerStylePlugin = (
21
+ /**
22
+ * 更新图层样式,初始图层相关配置
23
+ */
24
+ _dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
25
+ function LayerStylePlugin() {
26
+ (0, _classCallCheck2.default)(this, LayerStylePlugin);
47
27
  }
48
- };
49
- LayerStylePlugin = __decorateClass([
50
- (0, import_inversify.injectable)()
51
- ], LayerStylePlugin);
52
- // Annotate the CommonJS export names for ESM import in node:
53
- 0 && (module.exports = {});
28
+
29
+ (0, _createClass2.default)(LayerStylePlugin, [{
30
+ key: "apply",
31
+ value: function apply(layer) {
32
+ layer.hooks.afterInit.tap('LayerStylePlugin', function () {
33
+ // 更新图层默认状态
34
+ layer.updateLayerConfig({});
35
+
36
+ var _layer$getLayerConfig = layer.getLayerConfig(),
37
+ autoFit = _layer$getLayerConfig.autoFit,
38
+ fitBoundsOptions = _layer$getLayerConfig.fitBoundsOptions;
39
+
40
+ if (autoFit) {
41
+ setTimeout(function () {
42
+ layer.fitBounds(fitBoundsOptions);
43
+ }, 100);
44
+ }
45
+ });
46
+ }
47
+ }]);
48
+ return LayerStylePlugin;
49
+ }()) || _class);
50
+ exports.default = LayerStylePlugin;
@@ -1,51 +1,40 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
- var __decorateClass = (decorators, target, key, kind) => {
19
- var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
20
- for (var i = decorators.length - 1, decorator; i >= 0; i--)
21
- if (decorator = decorators[i])
22
- result = (kind ? decorator(target, key, result) : decorator(result)) || result;
23
- if (kind && result)
24
- __defProp(target, key, result);
25
- return result;
26
- };
1
+ "use strict";
27
2
 
28
- // src/plugins/LightingPlugin.ts
29
- var LightingPlugin_exports = {};
30
- __export(LightingPlugin_exports, {
31
- default: () => LightingPlugin,
32
- generateLightingUniforms: () => generateLightingUniforms
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
33
7
  });
34
- module.exports = __toCommonJS(LightingPlugin_exports);
35
- var import_inversify = require("inversify");
36
- var import_reflect_metadata = require("reflect-metadata");
8
+ exports.default = void 0;
9
+ exports.generateLightingUniforms = generateLightingUniforms;
10
+
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
+
15
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
+
17
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
18
+
19
+ var _inversify = require("inversify");
20
+
21
+ require("reflect-metadata");
22
+
23
+ var _dec, _class;
24
+
25
+ var _excluded = ["type"];
37
26
  var lightTypeUniformMap = {
38
27
  directional: {
39
- lights: "u_DirectionalLights",
40
- num: "u_NumOfDirectionalLights"
28
+ lights: 'u_DirectionalLights',
29
+ num: 'u_NumOfDirectionalLights'
41
30
  },
42
31
  spot: {
43
- lights: "u_SpotLights",
44
- num: "u_NumOfSpotLights"
32
+ lights: 'u_SpotLights',
33
+ num: 'u_NumOfSpotLights'
45
34
  }
46
35
  };
47
36
  var DEFAULT_LIGHT = {
48
- type: "directional",
37
+ type: 'directional',
49
38
  direction: [1, 10.5, 12],
50
39
  ambient: [0.2, 0.2, 0.2],
51
40
  diffuse: [0.6, 0.6, 0.6],
@@ -70,44 +59,67 @@ var DEFAULT_SPOT_LIGHT = {
70
59
  exponent: 40,
71
60
  blur: 5
72
61
  };
62
+ var COLOR_ATTRIBUTES = ['ambient', 'diffuse', 'specular'];
63
+
73
64
  function generateLightingUniforms(lights) {
74
- const lightsMap = {
75
- u_DirectionalLights: new Array(3).fill({ ...DEFAULT_DIRECTIONAL_LIGHT }),
65
+ var lightsMap = {
66
+ u_DirectionalLights: new Array(3).fill((0, _objectSpread2.default)({}, DEFAULT_DIRECTIONAL_LIGHT)),
76
67
  u_NumOfDirectionalLights: 0,
77
- u_SpotLights: new Array(3).fill({ ...DEFAULT_SPOT_LIGHT }),
68
+ u_SpotLights: new Array(3).fill((0, _objectSpread2.default)({}, DEFAULT_SPOT_LIGHT)),
78
69
  u_NumOfSpotLights: 0
79
70
  };
71
+
80
72
  if (!lights || !lights.length) {
81
73
  lights = [DEFAULT_LIGHT];
82
74
  }
83
- lights.forEach(({ type = "directional", ...rest }, i) => {
84
- const lightsUniformName = lightTypeUniformMap[type].lights;
85
- const lightsNumUniformName = lightTypeUniformMap[type].num;
86
- const num = lightsMap[lightsNumUniformName];
87
- lightsMap[lightsUniformName][num] = {
88
- ...lightsMap[lightsUniformName][num],
89
- ...rest
90
- };
75
+
76
+ lights.forEach(function (_ref, i) {
77
+ var _ref$type = _ref.type,
78
+ type = _ref$type === void 0 ? 'directional' : _ref$type,
79
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
80
+ var lightsUniformName = lightTypeUniformMap[type].lights;
81
+ var lightsNumUniformName = lightTypeUniformMap[type].num; // Object.keys(rest).forEach(key => {
82
+ // if (Util.isString(rest[key]) && COLOR_ATTRIBUTES.indexOf(key) > -1) {
83
+ // rest[key] = ColorUtil.color2RGBA(rest[key]).slice(0, 3);
84
+ // }
85
+ // });
86
+ // @ts-ignore
87
+
88
+ var num = lightsMap[lightsNumUniformName]; // @ts-ignore
89
+
90
+ lightsMap[lightsUniformName][num] = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, lightsMap[lightsUniformName][num]), rest); // @ts-ignore
91
+
91
92
  lightsMap[lightsNumUniformName]++;
92
93
  });
93
94
  return lightsMap;
94
95
  }
95
- var LightingPlugin = class {
96
- apply(layer) {
97
- layer.hooks.beforeRender.tap("LightingPlugin", () => {
98
- const { enableLighting } = layer.getLayerConfig();
99
- if (enableLighting) {
100
- layer.models.forEach((model) => model.addUniforms({
101
- ...generateLightingUniforms()
102
- }));
103
- }
104
- });
96
+ /**
97
+ * 光照 & Shadow
98
+ */
99
+
100
+
101
+ var LightingPlugin = (_dec = (0, _inversify.injectable)(), _dec(_class = /*#__PURE__*/function () {
102
+ function LightingPlugin() {
103
+ (0, _classCallCheck2.default)(this, LightingPlugin);
105
104
  }
106
- };
107
- LightingPlugin = __decorateClass([
108
- (0, import_inversify.injectable)()
109
- ], LightingPlugin);
110
- // Annotate the CommonJS export names for ESM import in node:
111
- 0 && (module.exports = {
112
- generateLightingUniforms
113
- });
105
+
106
+ (0, _createClass2.default)(LightingPlugin, [{
107
+ key: "apply",
108
+ value: function apply(layer) {
109
+ layer.hooks.beforeRender.tap('LightingPlugin', function () {
110
+ var _layer$getLayerConfig = layer.getLayerConfig(),
111
+ enableLighting = _layer$getLayerConfig.enableLighting;
112
+
113
+ if (enableLighting) {
114
+ layer.models.forEach(function (model) {
115
+ return (// @ts-ignore
116
+ model.addUniforms((0, _objectSpread2.default)({}, generateLightingUniforms()))
117
+ );
118
+ });
119
+ }
120
+ });
121
+ }
122
+ }]);
123
+ return LightingPlugin;
124
+ }()) || _class);
125
+ exports.default = LightingPlugin;