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

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 (126) hide show
  1. package/es/heatmap/models/heatmap.js +1 -1
  2. package/es/tile/tileFactory/base.d.ts +1 -1
  3. package/es/tile/utils.js +1 -1
  4. package/lib/Geometry/index.js +114 -77
  5. package/lib/Geometry/models/billboard.js +232 -181
  6. package/lib/Geometry/models/index.js +18 -34
  7. package/lib/Geometry/models/plane.js +407 -278
  8. package/lib/Geometry/models/sprite.js +291 -189
  9. package/lib/canvas/index.js +101 -66
  10. package/lib/canvas/models/canvas.js +207 -140
  11. package/lib/canvas/models/index.js +12 -30
  12. package/lib/citybuliding/building.js +98 -63
  13. package/lib/citybuliding/models/build.js +192 -146
  14. package/lib/core/BaseLayer.js +1331 -814
  15. package/lib/core/BaseModel.js +457 -279
  16. package/lib/core/interface.js +40 -53
  17. package/lib/core/schema.js +21 -39
  18. package/lib/core/shape/Path.js +67 -79
  19. package/lib/core/shape/extrude.js +132 -91
  20. package/lib/core/triangulation.js +378 -196
  21. package/lib/earth/index.js +100 -62
  22. package/lib/earth/models/atmosphere.js +146 -112
  23. package/lib/earth/models/base.js +210 -150
  24. package/lib/earth/models/bloomsphere.js +146 -112
  25. package/lib/earth/utils.js +111 -91
  26. package/lib/heatmap/index.js +149 -92
  27. package/lib/heatmap/models/grid.js +118 -91
  28. package/lib/heatmap/models/grid3d.js +155 -123
  29. package/lib/heatmap/models/heatmap.js +475 -338
  30. package/lib/heatmap/models/hexagon.js +121 -92
  31. package/lib/heatmap/models/index.js +22 -37
  32. package/lib/heatmap/triangulation.js +31 -47
  33. package/lib/image/index.js +111 -74
  34. package/lib/image/models/dataImage.js +232 -174
  35. package/lib/image/models/image.js +175 -128
  36. package/lib/image/models/index.js +15 -32
  37. package/lib/index.js +263 -97
  38. package/lib/line/index.js +131 -85
  39. package/lib/line/models/arc.js +352 -237
  40. package/lib/line/models/arc_3d.js +334 -228
  41. package/lib/line/models/earthArc_3d.js +336 -228
  42. package/lib/line/models/great_circle.js +291 -200
  43. package/lib/line/models/half.js +286 -201
  44. package/lib/line/models/index.js +42 -50
  45. package/lib/line/models/line.js +428 -299
  46. package/lib/line/models/linearline.js +277 -203
  47. package/lib/line/models/simpleLine.js +239 -175
  48. package/lib/line/models/tile.js +348 -237
  49. package/lib/line/models/wall.js +327 -235
  50. package/lib/mask/index.js +92 -59
  51. package/lib/mask/models/fill.js +134 -82
  52. package/lib/mask/models/index.js +12 -30
  53. package/lib/plugins/DataMappingPlugin.js +342 -224
  54. package/lib/plugins/DataSourcePlugin.js +102 -87
  55. package/lib/plugins/FeatureScalePlugin.js +330 -240
  56. package/lib/plugins/LayerAnimateStylePlugin.js +61 -55
  57. package/lib/plugins/LayerModelPlugin.js +80 -73
  58. package/lib/plugins/LayerStylePlugin.js +48 -51
  59. package/lib/plugins/LightingPlugin.js +80 -68
  60. package/lib/plugins/MultiPassRendererPlugin.js +91 -65
  61. package/lib/plugins/PixelPickingPlugin.js +150 -109
  62. package/lib/plugins/RegisterStyleAttributePlugin.js +110 -110
  63. package/lib/plugins/ShaderUniformPlugin.js +118 -99
  64. package/lib/plugins/UpdateModelPlugin.js +40 -47
  65. package/lib/plugins/UpdateStyleAttributePlugin.js +93 -75
  66. package/lib/point/index.js +226 -150
  67. package/lib/point/models/earthExtrude.js +279 -201
  68. package/lib/point/models/earthFill.js +287 -202
  69. package/lib/point/models/extrude.js +299 -203
  70. package/lib/point/models/fill.js +406 -275
  71. package/lib/point/models/fillmage.js +365 -256
  72. package/lib/point/models/image.js +241 -168
  73. package/lib/point/models/index.js +46 -52
  74. package/lib/point/models/normal.js +183 -134
  75. package/lib/point/models/radar.js +304 -211
  76. package/lib/point/models/simplePoint.js +194 -142
  77. package/lib/point/models/text.js +608 -385
  78. package/lib/point/models/tile.js +314 -223
  79. package/lib/point/shape/extrude.js +56 -52
  80. package/lib/polygon/index.js +154 -102
  81. package/lib/polygon/models/extrude.js +311 -223
  82. package/lib/polygon/models/fill.js +215 -153
  83. package/lib/polygon/models/index.js +46 -52
  84. package/lib/polygon/models/ocean.js +244 -173
  85. package/lib/polygon/models/tile.js +144 -100
  86. package/lib/polygon/models/water.js +222 -153
  87. package/lib/raster/buffers/triangulation.js +27 -40
  88. package/lib/raster/index.js +115 -75
  89. package/lib/raster/models/index.js +16 -33
  90. package/lib/raster/models/raster.js +178 -135
  91. package/lib/raster/raster.js +187 -132
  92. package/lib/tile/interface.js +4 -16
  93. package/lib/tile/manager/tileConfigManager.js +125 -86
  94. package/lib/tile/manager/tileLayerManager.js +313 -229
  95. package/lib/tile/manager/tilePickerManager.js +192 -123
  96. package/lib/tile/models/tileModel.js +71 -52
  97. package/lib/tile/tileFactory/base.js +432 -309
  98. package/lib/tile/tileFactory/index.js +51 -49
  99. package/lib/tile/tileFactory/line.js +65 -50
  100. package/lib/tile/tileFactory/point.js +65 -50
  101. package/lib/tile/tileFactory/polygon.js +65 -50
  102. package/lib/tile/tileFactory/raster.js +66 -54
  103. package/lib/tile/tileFactory/rasterData.js +88 -76
  104. package/lib/tile/tileFactory/rasterDataLayer.js +97 -62
  105. package/lib/tile/tileFactory/vectorLayer.js +168 -109
  106. package/lib/tile/tileLayer/baseTileLayer.js +420 -221
  107. package/lib/tile/tmsTileLayer.js +110 -67
  108. package/lib/tile/utils.js +110 -92
  109. package/lib/utils/blend.js +59 -79
  110. package/lib/utils/collision-index.js +107 -64
  111. package/lib/utils/dataMappingStyle.js +105 -60
  112. package/lib/utils/extrude_polyline.js +600 -398
  113. package/lib/utils/grid-index.js +163 -111
  114. package/lib/utils/layerData.js +130 -99
  115. package/lib/utils/multiPassRender.js +49 -41
  116. package/lib/utils/polylineNormal.js +148 -96
  117. package/lib/utils/simpleLine.js +100 -85
  118. package/lib/utils/symbol-layout.js +219 -116
  119. package/lib/utils/updateShape.js +15 -41
  120. package/lib/wind/index.js +109 -71
  121. package/lib/wind/models/index.js +12 -30
  122. package/lib/wind/models/utils.js +144 -105
  123. package/lib/wind/models/wind.js +333 -224
  124. package/lib/wind/models/windRender.js +329 -218
  125. package/lib/wind/models/windShader.js +23 -181
  126. 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;