@antv/l7-layers 2.15.2 → 2.15.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.
Files changed (242) hide show
  1. package/es/Geometry/index.js +9 -31
  2. package/es/Geometry/models/billboard.js +51 -89
  3. package/es/Geometry/models/plane.js +81 -143
  4. package/es/Geometry/models/sprite.js +60 -118
  5. package/es/canvas/index.js +10 -33
  6. package/es/canvas/models/canvas.js +41 -97
  7. package/es/citybuliding/building.js +8 -27
  8. package/es/citybuliding/models/build.js +57 -82
  9. package/es/core/BaseLayer.js +320 -484
  10. package/es/core/BaseModel.js +97 -126
  11. package/es/core/LayerPickService.js +21 -32
  12. package/es/core/TextureService.js +0 -13
  13. package/es/core/interface.js +17 -24
  14. package/es/core/shape/Path.js +13 -20
  15. package/es/core/shape/extrude.js +10 -31
  16. package/es/core/triangulation.js +54 -114
  17. package/es/earth/index.js +9 -33
  18. package/es/earth/models/atmosphere.js +30 -54
  19. package/es/earth/models/base.js +47 -85
  20. package/es/earth/models/bloomsphere.js +30 -54
  21. package/es/earth/utils.js +9 -13
  22. package/es/heatmap/index.js +10 -40
  23. package/es/heatmap/models/grid.js +28 -52
  24. package/es/heatmap/models/grid3d.js +28 -52
  25. package/es/heatmap/models/heatmap.js +91 -146
  26. package/es/heatmap/models/hexagon.js +28 -52
  27. package/es/heatmap/triangulation.js +0 -4
  28. package/es/image/index.js +9 -28
  29. package/es/image/models/image.js +66 -100
  30. package/es/index.js +9 -17
  31. package/es/line/index.js +9 -34
  32. package/es/line/models/arc.js +66 -118
  33. package/es/line/models/arc_3d.js +60 -108
  34. package/es/line/models/earthArc_3d.js +63 -111
  35. package/es/line/models/great_circle.js +56 -100
  36. package/es/line/models/half.js +46 -77
  37. package/es/line/models/line.js +94 -148
  38. package/es/line/models/linearline.js +45 -80
  39. package/es/line/models/simpleLine.js +41 -74
  40. package/es/line/models/wall.js +52 -92
  41. package/es/mask/index.js +9 -28
  42. package/es/mask/models/fill.js +29 -54
  43. package/es/plugins/DataMappingPlugin.js +80 -117
  44. package/es/plugins/DataSourcePlugin.js +45 -68
  45. package/es/plugins/FeatureScalePlugin.js +67 -122
  46. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  47. package/es/plugins/LayerMaskPlugin.js +3 -11
  48. package/es/plugins/LayerModelPlugin.js +67 -104
  49. package/es/plugins/LayerStylePlugin.js +3 -9
  50. package/es/plugins/LightingPlugin.js +12 -18
  51. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  52. package/es/plugins/PixelPickingPlugin.js +12 -21
  53. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  54. package/es/plugins/ShaderUniformPlugin.js +13 -27
  55. package/es/plugins/UpdateModelPlugin.js +0 -5
  56. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  57. package/es/point/index.js +26 -77
  58. package/es/point/models/earthExtrude.js +61 -102
  59. package/es/point/models/earthFill.js +57 -87
  60. package/es/point/models/extrude.js +60 -101
  61. package/es/point/models/fill.js +70 -100
  62. package/es/point/models/fillmage.js +63 -107
  63. package/es/point/models/image.js +48 -88
  64. package/es/point/models/index.js +2 -2
  65. package/es/point/models/normal.js +30 -54
  66. package/es/point/models/radar.js +40 -64
  67. package/es/point/models/simplePoint.js +41 -69
  68. package/es/point/models/text.js +197 -299
  69. package/es/point/shape/extrude.js +4 -13
  70. package/es/polygon/index.js +11 -40
  71. package/es/polygon/models/extrude.js +48 -92
  72. package/es/polygon/models/fill.js +54 -88
  73. package/es/polygon/models/index.js +3 -2
  74. package/es/polygon/models/ocean.js +42 -76
  75. package/es/polygon/models/water.js +37 -71
  76. package/es/raster/buffers/triangulation.js +2 -4
  77. package/es/raster/index.js +9 -32
  78. package/es/raster/models/raster.js +80 -116
  79. package/es/raster/models/rasterRgb.js +84 -127
  80. package/es/raster/models/rasterTerrainRgb.js +56 -84
  81. package/es/tile/interaction/getRasterData.js +14 -20
  82. package/es/tile/interaction/utils.js +7 -9
  83. package/es/tile/manager/base.js +63 -96
  84. package/es/tile/service/TileLayerService.js +30 -52
  85. package/es/tile/service/TilePickService.js +26 -40
  86. package/es/tile/service/TileSourceService.js +3 -7
  87. package/es/tile/tileFactory/DebugTile.js +28 -45
  88. package/es/tile/tileFactory/ImageTile.js +20 -38
  89. package/es/tile/tileFactory/MaskTile.js +22 -43
  90. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  91. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  92. package/es/tile/tileFactory/RasterTile.js +30 -53
  93. package/es/tile/tileFactory/Tile.js +63 -97
  94. package/es/tile/tileFactory/VectorTile.js +41 -68
  95. package/es/tile/tileFactory/index.js +0 -11
  96. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  97. package/es/tile/tileFactory/util.js +0 -3
  98. package/es/tile/tileLayer/BaseLayer.js +105 -146
  99. package/es/tile/utils.js +1 -1
  100. package/es/utils/blend.js +0 -2
  101. package/es/utils/collision-index.js +9 -16
  102. package/es/utils/dataMappingStyle.js +8 -18
  103. package/es/utils/extrude_polyline.js +101 -149
  104. package/es/utils/grid-index.js +2 -27
  105. package/es/utils/identityScale.js +0 -8
  106. package/es/utils/layerData.js +30 -44
  107. package/es/utils/multiPassRender.js +11 -13
  108. package/es/utils/polylineNormal.js +31 -37
  109. package/es/utils/simpleLine.js +2 -16
  110. package/es/utils/stencil.js +2 -3
  111. package/es/utils/symbol-layout.js +27 -53
  112. package/es/wind/index.js +9 -29
  113. package/es/wind/models/utils.js +26 -51
  114. package/es/wind/models/wind.js +101 -147
  115. package/es/wind/models/windRender.js +53 -66
  116. package/lib/Geometry/index.js +9 -38
  117. package/lib/Geometry/models/billboard.js +51 -97
  118. package/lib/Geometry/models/index.js +0 -5
  119. package/lib/Geometry/models/plane.js +79 -151
  120. package/lib/Geometry/models/sprite.js +60 -127
  121. package/lib/canvas/index.js +10 -40
  122. package/lib/canvas/models/canvas.js +41 -101
  123. package/lib/canvas/models/index.js +0 -3
  124. package/lib/citybuliding/building.js +8 -35
  125. package/lib/citybuliding/models/build.js +57 -92
  126. package/lib/core/BaseLayer.js +320 -478
  127. package/lib/core/BaseModel.js +97 -139
  128. package/lib/core/LayerPickService.js +21 -37
  129. package/lib/core/TextureService.js +0 -16
  130. package/lib/core/interface.js +21 -31
  131. package/lib/core/schema.js +0 -1
  132. package/lib/core/shape/Path.js +14 -31
  133. package/lib/core/shape/extrude.js +10 -54
  134. package/lib/core/triangulation.js +53 -153
  135. package/lib/earth/index.js +9 -43
  136. package/lib/earth/models/atmosphere.js +30 -63
  137. package/lib/earth/models/base.js +47 -90
  138. package/lib/earth/models/bloomsphere.js +30 -63
  139. package/lib/earth/utils.js +7 -31
  140. package/lib/heatmap/index.js +10 -48
  141. package/lib/heatmap/models/grid.js +28 -60
  142. package/lib/heatmap/models/grid3d.js +28 -60
  143. package/lib/heatmap/models/heatmap.js +91 -162
  144. package/lib/heatmap/models/hexagon.js +28 -60
  145. package/lib/heatmap/models/index.js +0 -6
  146. package/lib/heatmap/triangulation.js +0 -5
  147. package/lib/image/index.js +9 -36
  148. package/lib/image/models/image.js +66 -109
  149. package/lib/image/models/index.js +0 -3
  150. package/lib/index.js +7 -61
  151. package/lib/line/index.js +9 -40
  152. package/lib/line/models/arc.js +64 -128
  153. package/lib/line/models/arc_3d.js +58 -119
  154. package/lib/line/models/earthArc_3d.js +61 -122
  155. package/lib/line/models/great_circle.js +56 -111
  156. package/lib/line/models/half.js +46 -87
  157. package/lib/line/models/index.js +0 -11
  158. package/lib/line/models/line.js +92 -156
  159. package/lib/line/models/linearline.js +45 -92
  160. package/lib/line/models/simpleLine.js +41 -84
  161. package/lib/line/models/wall.js +52 -103
  162. package/lib/mask/index.js +9 -36
  163. package/lib/mask/models/fill.js +29 -63
  164. package/lib/mask/models/index.js +0 -3
  165. package/lib/plugins/DataMappingPlugin.js +80 -128
  166. package/lib/plugins/DataSourcePlugin.js +45 -76
  167. package/lib/plugins/FeatureScalePlugin.js +67 -138
  168. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  169. package/lib/plugins/LayerMaskPlugin.js +4 -17
  170. package/lib/plugins/LayerModelPlugin.js +68 -113
  171. package/lib/plugins/LayerStylePlugin.js +4 -14
  172. package/lib/plugins/LightingPlugin.js +12 -25
  173. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  174. package/lib/plugins/PixelPickingPlugin.js +12 -27
  175. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  176. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  177. package/lib/plugins/UpdateModelPlugin.js +1 -10
  178. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  179. package/lib/point/index.js +26 -83
  180. package/lib/point/models/earthExtrude.js +61 -113
  181. package/lib/point/models/earthFill.js +57 -117
  182. package/lib/point/models/extrude.js +60 -111
  183. package/lib/point/models/fill.js +68 -109
  184. package/lib/point/models/fillmage.js +61 -115
  185. package/lib/point/models/image.js +48 -98
  186. package/lib/point/models/index.js +1 -12
  187. package/lib/point/models/normal.js +30 -64
  188. package/lib/point/models/radar.js +40 -74
  189. package/lib/point/models/simplePoint.js +41 -79
  190. package/lib/point/models/text.js +197 -307
  191. package/lib/point/shape/extrude.js +4 -20
  192. package/lib/polygon/index.js +11 -48
  193. package/lib/polygon/models/extrude.js +48 -103
  194. package/lib/polygon/models/fill.js +54 -98
  195. package/lib/polygon/models/index.js +2 -14
  196. package/lib/polygon/models/ocean.js +42 -88
  197. package/lib/polygon/models/water.js +37 -82
  198. package/lib/raster/buffers/triangulation.js +3 -7
  199. package/lib/raster/index.js +9 -40
  200. package/lib/raster/models/index.js +0 -5
  201. package/lib/raster/models/raster.js +80 -125
  202. package/lib/raster/models/rasterRgb.js +84 -139
  203. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  204. package/lib/tile/interaction/getRasterData.js +14 -25
  205. package/lib/tile/interaction/utils.js +7 -19
  206. package/lib/tile/manager/base.js +63 -104
  207. package/lib/tile/service/TileLayerService.js +30 -57
  208. package/lib/tile/service/TilePickService.js +26 -48
  209. package/lib/tile/service/TileSourceService.js +2 -16
  210. package/lib/tile/style/utils.js +0 -3
  211. package/lib/tile/tileFactory/DebugTile.js +28 -53
  212. package/lib/tile/tileFactory/ImageTile.js +20 -46
  213. package/lib/tile/tileFactory/MaskTile.js +22 -51
  214. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  215. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  216. package/lib/tile/tileFactory/RasterTile.js +30 -63
  217. package/lib/tile/tileFactory/Tile.js +63 -102
  218. package/lib/tile/tileFactory/VectorTile.js +41 -76
  219. package/lib/tile/tileFactory/index.js +0 -25
  220. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  221. package/lib/tile/tileFactory/util.js +0 -9
  222. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  223. package/lib/tile/utils.js +1 -5
  224. package/lib/utils/blend.js +0 -5
  225. package/lib/utils/collision-index.js +9 -25
  226. package/lib/utils/dataMappingStyle.js +8 -19
  227. package/lib/utils/extrude_polyline.js +101 -181
  228. package/lib/utils/grid-index.js +2 -28
  229. package/lib/utils/identityScale.js +0 -9
  230. package/lib/utils/layerData.js +30 -49
  231. package/lib/utils/multiPassRender.js +11 -16
  232. package/lib/utils/polylineNormal.js +31 -66
  233. package/lib/utils/simpleLine.js +2 -21
  234. package/lib/utils/stencil.js +0 -4
  235. package/lib/utils/symbol-layout.js +27 -55
  236. package/lib/wind/index.js +9 -37
  237. package/lib/wind/models/index.js +0 -3
  238. package/lib/wind/models/utils.js +26 -62
  239. package/lib/wind/models/wind.js +101 -157
  240. package/lib/wind/models/windRender.js +53 -71
  241. package/lib/wind/models/windShader.js +0 -1
  242. package/package.json +7 -7
@@ -2,28 +2,23 @@ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/esm/createClass";
3
3
  import { TYPES } from '@antv/l7-core';
4
4
  import { generateCatRamp, generateColorRamp, generateCustomRamp, generateLinearRamp, generateQuantizeRamp } from '@antv/l7-utils';
5
-
6
5
  var TextureService = /*#__PURE__*/function () {
7
6
  function TextureService(layer) {
8
7
  _classCallCheck(this, TextureService);
9
-
10
8
  this.layer = layer;
11
9
  var container = this.layer.getContainer();
12
10
  this.rendererService = container.get(TYPES.IRendererService);
13
11
  }
14
-
15
12
  _createClass(TextureService, [{
16
13
  key: "getColorTexture",
17
14
  value: function getColorTexture(colorRamp, domain) {
18
15
  // TODO 支持传入图片
19
16
  var currentkey = this.getTextureKey(colorRamp, domain);
20
-
21
17
  if (this.key === currentkey) {
22
18
  return this.colorTexture;
23
19
  } else {
24
20
  this.createColorTexture(colorRamp, domain);
25
21
  }
26
-
27
22
  this.key = currentkey;
28
23
  return this.colorTexture;
29
24
  }
@@ -51,7 +46,6 @@ var TextureService = /*#__PURE__*/function () {
51
46
  key: "destroy",
52
47
  value: function destroy() {
53
48
  var _this$colorTexture;
54
-
55
49
  (_this$colorTexture = this.colorTexture) === null || _this$colorTexture === void 0 ? void 0 : _this$colorTexture.destroy();
56
50
  }
57
51
  }, {
@@ -60,16 +54,12 @@ var TextureService = /*#__PURE__*/function () {
60
54
  switch (colorRamp.type) {
61
55
  case 'cat':
62
56
  return generateCatRamp(colorRamp);
63
-
64
57
  case 'quantize':
65
58
  return generateQuantizeRamp(colorRamp);
66
-
67
59
  case 'custom':
68
60
  return generateCustomRamp(colorRamp, domain);
69
-
70
61
  case 'linear':
71
62
  return generateLinearRamp(colorRamp, domain);
72
-
73
63
  default:
74
64
  return generateColorRamp(colorRamp);
75
65
  }
@@ -78,12 +68,9 @@ var TextureService = /*#__PURE__*/function () {
78
68
  key: "getTextureKey",
79
69
  value: function getTextureKey(colorRamp, domain) {
80
70
  var _colorRamp$positions;
81
-
82
71
  return "".concat(colorRamp.colors.join('_'), "_").concat(colorRamp === null || colorRamp === void 0 ? void 0 : (_colorRamp$positions = colorRamp.positions) === null || _colorRamp$positions === void 0 ? void 0 : _colorRamp$positions.join('_'), "_").concat(colorRamp.type, "_").concat(domain === null || domain === void 0 ? void 0 : domain.join('_'));
83
72
  }
84
73
  }]);
85
-
86
74
  return TextureService;
87
75
  }();
88
-
89
76
  export { TextureService as default };
@@ -1,37 +1,30 @@
1
- export var lineStyleType;
2
-
3
- (function (lineStyleType) {
1
+ export var lineStyleType = /*#__PURE__*/function (lineStyleType) {
4
2
  lineStyleType[lineStyleType["solid"] = 0] = "solid";
5
3
  lineStyleType[lineStyleType["dash"] = 1] = "dash";
6
- })(lineStyleType || (lineStyleType = {}));
7
-
8
- export var LinearDir;
9
-
10
- (function (LinearDir) {
4
+ return lineStyleType;
5
+ }({});
6
+ export var LinearDir = /*#__PURE__*/function (LinearDir) {
11
7
  LinearDir["VERTICAL"] = "vertical";
12
8
  LinearDir["HORIZONTAL"] = "horizontal";
13
- })(LinearDir || (LinearDir = {}));
9
+ return LinearDir;
10
+ }({});
11
+ export var TextureBlend = /*#__PURE__*/function (TextureBlend) {
12
+ TextureBlend["NORMAL"] = "normal";
13
+ TextureBlend["REPLACE"] = "replace";
14
+ return TextureBlend;
15
+ }({});
14
16
 
15
- export var TextureBlend;
16
17
  /**
17
18
  * 基础图层类型定义
18
19
  */
19
20
 
20
- (function (TextureBlend) {
21
- TextureBlend["NORMAL"] = "normal";
22
- TextureBlend["REPLACE"] = "replace";
23
- })(TextureBlend || (TextureBlend = {}));
24
-
25
- export var SizeUnitType;
26
-
27
- (function (SizeUnitType) {
21
+ export var SizeUnitType = /*#__PURE__*/function (SizeUnitType) {
28
22
  SizeUnitType[SizeUnitType["pixel"] = 0] = "pixel";
29
23
  SizeUnitType[SizeUnitType["meter"] = 1] = "meter";
30
- })(SizeUnitType || (SizeUnitType = {}));
31
-
32
- export var CanvasUpdateType;
33
-
34
- (function (CanvasUpdateType) {
24
+ return SizeUnitType;
25
+ }({});
26
+ export var CanvasUpdateType = /*#__PURE__*/function (CanvasUpdateType) {
35
27
  CanvasUpdateType["ALWAYS"] = "always";
36
28
  CanvasUpdateType["DRAGEND"] = "dragend";
37
- })(CanvasUpdateType || (CanvasUpdateType = {}));
29
+ return CanvasUpdateType;
30
+ }({});
@@ -1,47 +1,40 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
-
3
2
  var _geometryShape;
4
-
5
- export var ShapeType3D;
6
-
7
- (function (ShapeType3D) {
3
+ export var ShapeType3D = /*#__PURE__*/function (ShapeType3D) {
8
4
  ShapeType3D["CYLINDER"] = "cylinder";
9
5
  ShapeType3D["SQUARECOLUMN"] = "squareColumn";
10
6
  ShapeType3D["TRIANGLECOLUMN"] = "triangleColumn";
11
7
  ShapeType3D["HEXAGONCOLUMN"] = "hexagonColumn";
12
8
  ShapeType3D["PENTAGONCOLUMN"] = "pentagonColumn";
13
- })(ShapeType3D || (ShapeType3D = {}));
14
-
15
- export var ShapeType2D;
16
- /**
17
- * 生成规则多边形顶点个数
18
- * @param pointCount 顶点个数 3 => 三角形
19
- * @param start 顶点起始角度 调整图形的方向
20
- */
21
-
22
- (function (ShapeType2D) {
9
+ return ShapeType3D;
10
+ }({});
11
+ export var ShapeType2D = /*#__PURE__*/function (ShapeType2D) {
23
12
  ShapeType2D["CIRCLE"] = "circle";
24
13
  ShapeType2D["SQUARE"] = "square";
25
14
  ShapeType2D["TRIANGLE"] = "triangle";
26
15
  ShapeType2D["HEXAGON"] = "hexagon";
27
16
  ShapeType2D["PENTAGON"] = "pentagon";
28
- })(ShapeType2D || (ShapeType2D = {}));
17
+ return ShapeType2D;
18
+ }({});
29
19
 
20
+ /**
21
+ * 生成规则多边形顶点个数
22
+ * @param pointCount 顶点个数 3 => 三角形
23
+ * @param start 顶点起始角度 调整图形的方向
24
+ */
30
25
  export function polygonPath(pointCount) {
31
26
  var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
32
27
  var step = Math.PI * 2 / pointCount;
33
28
  var line = [];
34
-
35
29
  for (var i = 0; i < pointCount; i++) {
36
30
  line.push(step * i + start * Math.PI / 12);
37
31
  }
38
-
39
32
  var path = line.map(function (t) {
40
33
  var x = Math.sin(t + Math.PI / 4);
41
34
  var y = Math.cos(t + Math.PI / 4);
42
35
  return [x, y, 0];
43
- }); // path.push(path[0]);
44
-
36
+ });
37
+ // path.push(path[0]);
45
38
  return path;
46
39
  }
47
40
  export function circle() {
@@ -2,7 +2,6 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
2
  import { lngLatToMeters } from '@antv/l7-utils';
3
3
  import earcut from 'earcut';
4
4
  import { vec3 } from 'gl-matrix';
5
-
6
5
  /**
7
6
  * 拉伸多边形顶点,返回拉伸后的顶点信息
8
7
  * @param paths 路径数据组
@@ -11,18 +10,16 @@ import { vec3 } from 'gl-matrix';
11
10
  export default function extrudePolygon(path) {
12
11
  var p1 = path[0][0];
13
12
  var p2 = path[0][path[0].length - 1];
14
-
15
13
  if (p1[0] === p2[0] && p1[1] === p2[1]) {
16
14
  path[0] = path[0].slice(0, path[0].length - 1);
17
15
  }
18
-
19
16
  var n = path[0].length;
20
17
  var flattengeo = earcut.flatten(path);
21
18
  var vertices = flattengeo.vertices,
22
- dimensions = flattengeo.dimensions;
19
+ dimensions = flattengeo.dimensions;
23
20
  var positions = [];
24
- var indexArray = []; // 设置顶部z值
25
-
21
+ var indexArray = [];
22
+ // 设置顶部z值
26
23
  for (var j = 0; j < vertices.length / dimensions; j++) {
27
24
  if (dimensions === 2) {
28
25
  positions.push(vertices[j * 2], vertices[j * 2 + 1], 1);
@@ -30,29 +27,23 @@ export default function extrudePolygon(path) {
30
27
  positions.push(vertices[j * 3], vertices[j * 3 + 1], 1);
31
28
  }
32
29
  }
33
-
34
30
  var triangles = earcut(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
35
31
  indexArray.push.apply(indexArray, _toConsumableArray(triangles));
36
-
37
- var _loop = function _loop(i) {
32
+ var _loop = function _loop() {
38
33
  var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
39
34
  var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
40
-
41
35
  if (nextPoint.length === 0) {
42
36
  nextPoint = flattengeo.vertices.slice(0, dimensions);
43
37
  }
44
-
45
38
  var indexOffset = positions.length / 3;
46
39
  positions.push(prePoint[0], prePoint[1], 1, nextPoint[0], nextPoint[1], 1, prePoint[0], prePoint[1], 0, nextPoint[0], nextPoint[1], 0);
47
40
  indexArray.push.apply(indexArray, _toConsumableArray([0, 2, 1, 2, 3, 1].map(function (v) {
48
41
  return v + indexOffset;
49
42
  })));
50
43
  };
51
-
52
44
  for (var i = 0; i < n; i++) {
53
- _loop(i);
45
+ _loop();
54
46
  }
55
-
56
47
  return {
57
48
  positions: positions,
58
49
  index: indexArray
@@ -70,40 +61,33 @@ export function extrude_PolygonNormal(path) {
70
61
  var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
71
62
  var p1 = path[0][0];
72
63
  var p2 = path[0][path[0].length - 1];
73
-
74
64
  if (p1[0] === p2[0] && p1[1] === p2[1]) {
75
65
  path[0] = path[0].slice(0, path[0].length - 1);
76
66
  }
77
-
78
67
  var n = path[0].length;
79
68
  var flattengeo = earcut.flatten(path);
80
69
  var vertices = flattengeo.vertices,
81
- dimensions = flattengeo.dimensions;
70
+ dimensions = flattengeo.dimensions;
82
71
  var positions = [];
83
72
  var indexArray = [];
84
- var normals = []; // 设置顶部z值 position uv
85
-
73
+ var normals = [];
74
+ // 设置顶部z值 position uv
86
75
  for (var j = 0; j < vertices.length / dimensions; j++) {
87
76
  if (dimensions === 2) {
88
77
  positions.push(vertices[j * 2], vertices[j * 2 + 1], 1, -1, -1);
89
78
  } else {
90
79
  positions.push(vertices[j * 3], vertices[j * 3 + 1], 1, -1, -1);
91
80
  }
92
-
93
81
  normals.push(0, 0, 1);
94
82
  }
95
-
96
83
  var triangles = earcut(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
97
84
  indexArray.push.apply(indexArray, _toConsumableArray(triangles));
98
-
99
- var _loop2 = function _loop2(i) {
85
+ var _loop2 = function _loop2() {
100
86
  var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
101
87
  var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
102
-
103
88
  if (nextPoint.length === 0) {
104
89
  nextPoint = flattengeo.vertices.slice(0, dimensions);
105
90
  }
106
-
107
91
  var indexOffset = positions.length / 5;
108
92
  positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1, 0, prePoint[0], prePoint[1], 0, 0, 0.8, nextPoint[0], nextPoint[1], 0, 0.1, 0.8);
109
93
  var normal = computeVertexNormals([nextPoint[0], nextPoint[1], 1], [prePoint[0], prePoint[1], 0], [prePoint[0], prePoint[1], 1], needFlat);
@@ -112,30 +96,25 @@ export function extrude_PolygonNormal(path) {
112
96
  return v + indexOffset;
113
97
  })));
114
98
  };
115
-
116
99
  for (var i = 0; i < n; i++) {
117
- _loop2(i);
100
+ _loop2();
118
101
  }
119
-
120
102
  return {
121
103
  positions: positions,
122
104
  index: indexArray,
123
105
  normals: normals
124
106
  };
125
107
  }
126
-
127
108
  function computeVertexNormals(p1, p2, p3) {
128
109
  var needFlat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
129
110
  var cb = vec3.create();
130
111
  var ab = vec3.create();
131
112
  var normal = vec3.create();
132
-
133
113
  if (needFlat) {
134
114
  p1 = lngLatToMeters(p1);
135
115
  p2 = lngLatToMeters(p2);
136
116
  p3 = lngLatToMeters(p3);
137
117
  }
138
-
139
118
  var pA = vec3.fromValues.apply(vec3, _toConsumableArray(p1));
140
119
  var pB = vec3.fromValues.apply(vec3, _toConsumableArray(p2));
141
120
  var pC = vec3.fromValues.apply(vec3, _toConsumableArray(p3));