@antv/l7-layers 2.15.1 → 2.15.3

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 (243) 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.d.ts +2 -0
  69. package/es/point/models/text.js +214 -295
  70. package/es/point/shape/extrude.js +4 -13
  71. package/es/polygon/index.js +11 -40
  72. package/es/polygon/models/extrude.js +48 -92
  73. package/es/polygon/models/fill.js +54 -88
  74. package/es/polygon/models/index.js +3 -2
  75. package/es/polygon/models/ocean.js +42 -76
  76. package/es/polygon/models/water.js +37 -71
  77. package/es/raster/buffers/triangulation.js +2 -4
  78. package/es/raster/index.js +9 -32
  79. package/es/raster/models/raster.js +80 -116
  80. package/es/raster/models/rasterRgb.js +84 -127
  81. package/es/raster/models/rasterTerrainRgb.js +56 -84
  82. package/es/tile/interaction/getRasterData.js +14 -20
  83. package/es/tile/interaction/utils.js +7 -9
  84. package/es/tile/manager/base.js +63 -96
  85. package/es/tile/service/TileLayerService.js +30 -52
  86. package/es/tile/service/TilePickService.js +26 -40
  87. package/es/tile/service/TileSourceService.js +3 -7
  88. package/es/tile/tileFactory/DebugTile.js +28 -45
  89. package/es/tile/tileFactory/ImageTile.js +20 -38
  90. package/es/tile/tileFactory/MaskTile.js +22 -43
  91. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  93. package/es/tile/tileFactory/RasterTile.js +30 -53
  94. package/es/tile/tileFactory/Tile.js +63 -97
  95. package/es/tile/tileFactory/VectorTile.js +41 -68
  96. package/es/tile/tileFactory/index.js +0 -11
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  98. package/es/tile/tileFactory/util.js +0 -3
  99. package/es/tile/tileLayer/BaseLayer.js +105 -146
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +0 -2
  102. package/es/utils/collision-index.js +9 -16
  103. package/es/utils/dataMappingStyle.js +8 -18
  104. package/es/utils/extrude_polyline.js +101 -149
  105. package/es/utils/grid-index.js +2 -27
  106. package/es/utils/identityScale.js +0 -8
  107. package/es/utils/layerData.js +30 -44
  108. package/es/utils/multiPassRender.js +11 -13
  109. package/es/utils/polylineNormal.js +31 -37
  110. package/es/utils/simpleLine.js +2 -16
  111. package/es/utils/stencil.js +2 -3
  112. package/es/utils/symbol-layout.js +27 -53
  113. package/es/wind/index.js +9 -29
  114. package/es/wind/models/utils.js +26 -51
  115. package/es/wind/models/wind.js +101 -147
  116. package/es/wind/models/windRender.js +53 -66
  117. package/lib/Geometry/index.js +9 -38
  118. package/lib/Geometry/models/billboard.js +51 -97
  119. package/lib/Geometry/models/index.js +0 -5
  120. package/lib/Geometry/models/plane.js +79 -151
  121. package/lib/Geometry/models/sprite.js +60 -127
  122. package/lib/canvas/index.js +10 -40
  123. package/lib/canvas/models/canvas.js +41 -101
  124. package/lib/canvas/models/index.js +0 -3
  125. package/lib/citybuliding/building.js +8 -35
  126. package/lib/citybuliding/models/build.js +57 -92
  127. package/lib/core/BaseLayer.js +320 -478
  128. package/lib/core/BaseModel.js +97 -139
  129. package/lib/core/LayerPickService.js +21 -37
  130. package/lib/core/TextureService.js +0 -16
  131. package/lib/core/interface.js +21 -31
  132. package/lib/core/schema.js +0 -1
  133. package/lib/core/shape/Path.js +14 -31
  134. package/lib/core/shape/extrude.js +10 -54
  135. package/lib/core/triangulation.js +53 -153
  136. package/lib/earth/index.js +9 -43
  137. package/lib/earth/models/atmosphere.js +30 -63
  138. package/lib/earth/models/base.js +47 -90
  139. package/lib/earth/models/bloomsphere.js +30 -63
  140. package/lib/earth/utils.js +7 -31
  141. package/lib/heatmap/index.js +10 -48
  142. package/lib/heatmap/models/grid.js +28 -60
  143. package/lib/heatmap/models/grid3d.js +28 -60
  144. package/lib/heatmap/models/heatmap.js +91 -162
  145. package/lib/heatmap/models/hexagon.js +28 -60
  146. package/lib/heatmap/models/index.js +0 -6
  147. package/lib/heatmap/triangulation.js +0 -5
  148. package/lib/image/index.js +9 -36
  149. package/lib/image/models/image.js +66 -109
  150. package/lib/image/models/index.js +0 -3
  151. package/lib/index.js +7 -61
  152. package/lib/line/index.js +9 -40
  153. package/lib/line/models/arc.js +64 -128
  154. package/lib/line/models/arc_3d.js +58 -119
  155. package/lib/line/models/earthArc_3d.js +61 -122
  156. package/lib/line/models/great_circle.js +56 -111
  157. package/lib/line/models/half.js +46 -87
  158. package/lib/line/models/index.js +0 -11
  159. package/lib/line/models/line.js +92 -156
  160. package/lib/line/models/linearline.js +45 -92
  161. package/lib/line/models/simpleLine.js +41 -84
  162. package/lib/line/models/wall.js +52 -103
  163. package/lib/mask/index.js +9 -36
  164. package/lib/mask/models/fill.js +29 -63
  165. package/lib/mask/models/index.js +0 -3
  166. package/lib/plugins/DataMappingPlugin.js +80 -128
  167. package/lib/plugins/DataSourcePlugin.js +45 -76
  168. package/lib/plugins/FeatureScalePlugin.js +67 -138
  169. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  170. package/lib/plugins/LayerMaskPlugin.js +4 -17
  171. package/lib/plugins/LayerModelPlugin.js +68 -113
  172. package/lib/plugins/LayerStylePlugin.js +4 -14
  173. package/lib/plugins/LightingPlugin.js +12 -25
  174. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  175. package/lib/plugins/PixelPickingPlugin.js +12 -27
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  177. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  178. package/lib/plugins/UpdateModelPlugin.js +1 -10
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  180. package/lib/point/index.js +26 -83
  181. package/lib/point/models/earthExtrude.js +61 -113
  182. package/lib/point/models/earthFill.js +57 -117
  183. package/lib/point/models/extrude.js +60 -111
  184. package/lib/point/models/fill.js +68 -109
  185. package/lib/point/models/fillmage.js +61 -115
  186. package/lib/point/models/image.js +48 -98
  187. package/lib/point/models/index.js +1 -12
  188. package/lib/point/models/normal.js +30 -64
  189. package/lib/point/models/radar.js +40 -74
  190. package/lib/point/models/simplePoint.js +41 -79
  191. package/lib/point/models/text.js +214 -303
  192. package/lib/point/shape/extrude.js +4 -20
  193. package/lib/polygon/index.js +11 -48
  194. package/lib/polygon/models/extrude.js +48 -103
  195. package/lib/polygon/models/fill.js +54 -98
  196. package/lib/polygon/models/index.js +2 -14
  197. package/lib/polygon/models/ocean.js +42 -88
  198. package/lib/polygon/models/water.js +37 -82
  199. package/lib/raster/buffers/triangulation.js +3 -7
  200. package/lib/raster/index.js +9 -40
  201. package/lib/raster/models/index.js +0 -5
  202. package/lib/raster/models/raster.js +80 -125
  203. package/lib/raster/models/rasterRgb.js +84 -139
  204. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  205. package/lib/tile/interaction/getRasterData.js +14 -25
  206. package/lib/tile/interaction/utils.js +7 -19
  207. package/lib/tile/manager/base.js +63 -104
  208. package/lib/tile/service/TileLayerService.js +30 -57
  209. package/lib/tile/service/TilePickService.js +26 -48
  210. package/lib/tile/service/TileSourceService.js +2 -16
  211. package/lib/tile/style/utils.js +0 -3
  212. package/lib/tile/tileFactory/DebugTile.js +28 -53
  213. package/lib/tile/tileFactory/ImageTile.js +20 -46
  214. package/lib/tile/tileFactory/MaskTile.js +22 -51
  215. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  217. package/lib/tile/tileFactory/RasterTile.js +30 -63
  218. package/lib/tile/tileFactory/Tile.js +63 -102
  219. package/lib/tile/tileFactory/VectorTile.js +41 -76
  220. package/lib/tile/tileFactory/index.js +0 -25
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  222. package/lib/tile/tileFactory/util.js +0 -9
  223. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  224. package/lib/tile/utils.js +1 -5
  225. package/lib/utils/blend.js +0 -5
  226. package/lib/utils/collision-index.js +9 -25
  227. package/lib/utils/dataMappingStyle.js +8 -19
  228. package/lib/utils/extrude_polyline.js +101 -181
  229. package/lib/utils/grid-index.js +2 -28
  230. package/lib/utils/identityScale.js +0 -9
  231. package/lib/utils/layerData.js +30 -49
  232. package/lib/utils/multiPassRender.js +11 -16
  233. package/lib/utils/polylineNormal.js +31 -66
  234. package/lib/utils/simpleLine.js +2 -21
  235. package/lib/utils/stencil.js +0 -4
  236. package/lib/utils/symbol-layout.js +27 -55
  237. package/lib/wind/index.js +9 -37
  238. package/lib/wind/models/index.js +0 -3
  239. package/lib/wind/models/utils.js +26 -62
  240. package/lib/wind/models/wind.js +101 -157
  241. package/lib/wind/models/windRender.js +53 -71
  242. package/lib/wind/models/windShader.js +0 -1
  243. 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));