@antv/l7-layers 2.17.4 → 2.17.6

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 (250) 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 +325 -483
  10. package/es/core/BaseModel.js +51 -80
  11. package/es/core/CommonStyleAttribute.js +2 -5
  12. package/es/core/LayerPickService.js +21 -32
  13. package/es/core/TextureService.js +0 -13
  14. package/es/core/interface.js +17 -24
  15. package/es/core/shape/Path.js +13 -20
  16. package/es/core/shape/extrude.js +27 -39
  17. package/es/core/triangulation.js +99 -136
  18. package/es/earth/index.js +9 -33
  19. package/es/earth/models/atmosphere.js +30 -54
  20. package/es/earth/models/base.js +47 -85
  21. package/es/earth/models/bloomsphere.js +30 -54
  22. package/es/earth/utils.js +9 -13
  23. package/es/heatmap/index.js +10 -40
  24. package/es/heatmap/models/grid.js +28 -52
  25. package/es/heatmap/models/grid3d.js +28 -52
  26. package/es/heatmap/models/heatmap.js +92 -149
  27. package/es/heatmap/models/hexagon.js +28 -52
  28. package/es/heatmap/triangulation.js +0 -4
  29. package/es/image/index.js +9 -28
  30. package/es/image/models/image.js +66 -100
  31. package/es/index.js +9 -17
  32. package/es/line/index.js +9 -35
  33. package/es/line/models/arc.js +63 -112
  34. package/es/line/models/arc_3d.js +58 -102
  35. package/es/line/models/earthArc_3d.js +60 -105
  36. package/es/line/models/flow.js +36 -60
  37. package/es/line/models/great_circle.js +53 -94
  38. package/es/line/models/line.js +92 -144
  39. package/es/line/models/linearline.js +42 -74
  40. package/es/line/models/simpleLine.js +38 -67
  41. package/es/line/models/wall.js +52 -92
  42. package/es/line/shaders/dash/line_dash_vert.glsl +1 -2
  43. package/es/line/shaders/line_frag.glsl +1 -3
  44. package/es/line/shaders/line_vert.glsl +2 -0
  45. package/es/line/shaders/linear/line_linear_frag.glsl +1 -1
  46. package/es/mask/index.js +9 -28
  47. package/es/mask/models/fill.js +29 -54
  48. package/es/plugins/DataMappingPlugin.js +78 -114
  49. package/es/plugins/DataSourcePlugin.js +45 -68
  50. package/es/plugins/FeatureScalePlugin.js +67 -122
  51. package/es/plugins/LayerAnimateStylePlugin.js +0 -5
  52. package/es/plugins/LayerMaskPlugin.js +3 -11
  53. package/es/plugins/LayerModelPlugin.js +69 -118
  54. package/es/plugins/LayerStylePlugin.js +4 -9
  55. package/es/plugins/LightingPlugin.js +12 -18
  56. package/es/plugins/MultiPassRendererPlugin.js +11 -16
  57. package/es/plugins/PixelPickingPlugin.js +12 -21
  58. package/es/plugins/RegisterStyleAttributePlugin.js +5 -12
  59. package/es/plugins/ShaderUniformPlugin.js +13 -27
  60. package/es/plugins/UpdateModelPlugin.js +0 -5
  61. package/es/plugins/UpdateStyleAttributePlugin.js +5 -11
  62. package/es/point/index.js +26 -78
  63. package/es/point/models/earthExtrude.js +58 -95
  64. package/es/point/models/earthFill.js +52 -80
  65. package/es/point/models/extrude.js +57 -94
  66. package/es/point/models/fill.js +56 -81
  67. package/es/point/models/fillmage.js +60 -100
  68. package/es/point/models/image.js +47 -83
  69. package/es/point/models/index.js +2 -2
  70. package/es/point/models/normal.js +30 -54
  71. package/es/point/models/radar.js +38 -63
  72. package/es/point/models/simplePoint.js +38 -62
  73. package/es/point/models/text.js +199 -296
  74. package/es/point/shape/extrude.js +4 -13
  75. package/es/polygon/index.js +11 -41
  76. package/es/polygon/models/extrude.js +87 -135
  77. package/es/polygon/models/fill.js +50 -79
  78. package/es/polygon/models/index.js +3 -2
  79. package/es/polygon/models/ocean.js +42 -76
  80. package/es/polygon/models/water.js +37 -71
  81. package/es/raster/buffers/triangulation.js +2 -4
  82. package/es/raster/index.js +9 -32
  83. package/es/raster/models/raster.js +80 -116
  84. package/es/raster/models/rasterRgb.js +84 -127
  85. package/es/raster/models/rasterTerrainRgb.js +56 -84
  86. package/es/tile/interaction/getRasterData.js +14 -20
  87. package/es/tile/interaction/utils.js +7 -9
  88. package/es/tile/manager/base.js +63 -96
  89. package/es/tile/service/TileLayerService.js +33 -55
  90. package/es/tile/service/TilePickService.js +26 -40
  91. package/es/tile/service/TileSourceService.js +3 -7
  92. package/es/tile/tileFactory/DebugTile.js +29 -46
  93. package/es/tile/tileFactory/ImageTile.js +20 -38
  94. package/es/tile/tileFactory/MaskTile.js +22 -43
  95. package/es/tile/tileFactory/RasterRGBTile.js +22 -42
  96. package/es/tile/tileFactory/RasterTerrainRGBTile.js +20 -38
  97. package/es/tile/tileFactory/RasterTile.js +30 -53
  98. package/es/tile/tileFactory/Tile.js +63 -97
  99. package/es/tile/tileFactory/VectorTile.js +41 -68
  100. package/es/tile/tileFactory/index.js +0 -11
  101. package/es/tile/tileFactory/layers/TileDebugLayer.js +6 -27
  102. package/es/tile/tileFactory/util.js +0 -3
  103. package/es/tile/tileLayer/BaseLayer.js +105 -146
  104. package/es/tile/utils.js +1 -1
  105. package/es/utils/blend.js +0 -2
  106. package/es/utils/collision-index.js +9 -16
  107. package/es/utils/extrude_polyline.js +101 -149
  108. package/es/utils/grid-index.js +2 -27
  109. package/es/utils/identityScale.js +0 -8
  110. package/es/utils/layerData.js +30 -44
  111. package/es/utils/multiPassRender.js +11 -13
  112. package/es/utils/polylineNormal.js +31 -37
  113. package/es/utils/simpleLine.js +2 -16
  114. package/es/utils/stencil.js +2 -3
  115. package/es/utils/symbol-layout.js +27 -53
  116. package/es/wind/index.js +9 -29
  117. package/es/wind/models/utils.js +26 -51
  118. package/es/wind/models/wind.js +101 -147
  119. package/es/wind/models/windRender.js +53 -66
  120. package/lib/Geometry/index.js +9 -38
  121. package/lib/Geometry/models/billboard.js +51 -97
  122. package/lib/Geometry/models/index.js +0 -5
  123. package/lib/Geometry/models/plane.js +79 -151
  124. package/lib/Geometry/models/sprite.js +60 -127
  125. package/lib/canvas/index.js +10 -40
  126. package/lib/canvas/models/canvas.js +41 -101
  127. package/lib/canvas/models/index.js +0 -3
  128. package/lib/citybuliding/building.js +8 -35
  129. package/lib/citybuliding/models/build.js +57 -92
  130. package/lib/core/BaseLayer.js +325 -474
  131. package/lib/core/BaseModel.js +51 -90
  132. package/lib/core/CommonStyleAttribute.js +2 -7
  133. package/lib/core/LayerPickService.js +21 -37
  134. package/lib/core/TextureService.js +0 -16
  135. package/lib/core/interface.js +21 -31
  136. package/lib/core/schema.js +0 -1
  137. package/lib/core/shape/Path.js +14 -31
  138. package/lib/core/shape/extrude.js +27 -62
  139. package/lib/core/triangulation.js +98 -177
  140. package/lib/earth/index.js +9 -43
  141. package/lib/earth/models/atmosphere.js +30 -63
  142. package/lib/earth/models/base.js +47 -90
  143. package/lib/earth/models/bloomsphere.js +30 -63
  144. package/lib/earth/utils.js +7 -31
  145. package/lib/heatmap/index.js +10 -48
  146. package/lib/heatmap/models/grid.js +28 -60
  147. package/lib/heatmap/models/grid3d.js +28 -60
  148. package/lib/heatmap/models/heatmap.js +92 -166
  149. package/lib/heatmap/models/hexagon.js +28 -60
  150. package/lib/heatmap/models/index.js +0 -6
  151. package/lib/heatmap/triangulation.js +0 -5
  152. package/lib/image/index.js +9 -36
  153. package/lib/image/models/image.js +66 -109
  154. package/lib/image/models/index.js +0 -3
  155. package/lib/index.js +7 -61
  156. package/lib/line/index.js +9 -40
  157. package/lib/line/models/arc.js +61 -122
  158. package/lib/line/models/arc_3d.js +56 -113
  159. package/lib/line/models/earthArc_3d.js +58 -115
  160. package/lib/line/models/flow.js +36 -70
  161. package/lib/line/models/great_circle.js +53 -104
  162. package/lib/line/models/index.js +0 -11
  163. package/lib/line/models/line.js +90 -152
  164. package/lib/line/models/linearline.js +42 -86
  165. package/lib/line/models/simpleLine.js +38 -77
  166. package/lib/line/models/wall.js +52 -103
  167. package/lib/line/shaders/dash/line_dash_vert.glsl +1 -2
  168. package/lib/line/shaders/line_frag.glsl +1 -3
  169. package/lib/line/shaders/line_vert.glsl +2 -0
  170. package/lib/line/shaders/linear/line_linear_frag.glsl +1 -1
  171. package/lib/mask/index.js +9 -36
  172. package/lib/mask/models/fill.js +29 -63
  173. package/lib/mask/models/index.js +0 -3
  174. package/lib/plugins/DataMappingPlugin.js +78 -125
  175. package/lib/plugins/DataSourcePlugin.js +45 -76
  176. package/lib/plugins/FeatureScalePlugin.js +67 -138
  177. package/lib/plugins/LayerAnimateStylePlugin.js +0 -10
  178. package/lib/plugins/LayerMaskPlugin.js +4 -17
  179. package/lib/plugins/LayerModelPlugin.js +70 -127
  180. package/lib/plugins/LayerStylePlugin.js +5 -14
  181. package/lib/plugins/LightingPlugin.js +12 -25
  182. package/lib/plugins/MultiPassRendererPlugin.js +11 -22
  183. package/lib/plugins/PixelPickingPlugin.js +12 -27
  184. package/lib/plugins/RegisterStyleAttributePlugin.js +5 -19
  185. package/lib/plugins/ShaderUniformPlugin.js +13 -34
  186. package/lib/plugins/UpdateModelPlugin.js +1 -10
  187. package/lib/plugins/UpdateStyleAttributePlugin.js +5 -16
  188. package/lib/point/index.js +26 -83
  189. package/lib/point/models/earthExtrude.js +58 -106
  190. package/lib/point/models/earthFill.js +52 -110
  191. package/lib/point/models/extrude.js +57 -103
  192. package/lib/point/models/fill.js +54 -90
  193. package/lib/point/models/fillmage.js +58 -107
  194. package/lib/point/models/image.js +47 -92
  195. package/lib/point/models/index.js +1 -12
  196. package/lib/point/models/normal.js +30 -64
  197. package/lib/point/models/radar.js +38 -72
  198. package/lib/point/models/simplePoint.js +38 -72
  199. package/lib/point/models/text.js +199 -305
  200. package/lib/point/shape/extrude.js +4 -20
  201. package/lib/polygon/index.js +11 -48
  202. package/lib/polygon/models/extrude.js +87 -146
  203. package/lib/polygon/models/fill.js +50 -89
  204. package/lib/polygon/models/index.js +2 -14
  205. package/lib/polygon/models/ocean.js +42 -88
  206. package/lib/polygon/models/water.js +37 -82
  207. package/lib/raster/buffers/triangulation.js +3 -7
  208. package/lib/raster/index.js +9 -40
  209. package/lib/raster/models/index.js +0 -5
  210. package/lib/raster/models/raster.js +80 -125
  211. package/lib/raster/models/rasterRgb.js +84 -139
  212. package/lib/raster/models/rasterTerrainRgb.js +56 -93
  213. package/lib/tile/interaction/getRasterData.js +14 -25
  214. package/lib/tile/interaction/utils.js +7 -19
  215. package/lib/tile/manager/base.js +63 -104
  216. package/lib/tile/service/TileLayerService.js +33 -60
  217. package/lib/tile/service/TilePickService.js +26 -48
  218. package/lib/tile/service/TileSourceService.js +2 -16
  219. package/lib/tile/style/utils.js +0 -3
  220. package/lib/tile/tileFactory/DebugTile.js +29 -54
  221. package/lib/tile/tileFactory/ImageTile.js +20 -46
  222. package/lib/tile/tileFactory/MaskTile.js +22 -51
  223. package/lib/tile/tileFactory/RasterRGBTile.js +22 -50
  224. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +20 -46
  225. package/lib/tile/tileFactory/RasterTile.js +30 -63
  226. package/lib/tile/tileFactory/Tile.js +63 -102
  227. package/lib/tile/tileFactory/VectorTile.js +41 -76
  228. package/lib/tile/tileFactory/index.js +0 -25
  229. package/lib/tile/tileFactory/layers/TileDebugLayer.js +6 -32
  230. package/lib/tile/tileFactory/util.js +0 -9
  231. package/lib/tile/tileLayer/BaseLayer.js +105 -153
  232. package/lib/tile/utils.js +1 -5
  233. package/lib/utils/blend.js +0 -5
  234. package/lib/utils/collision-index.js +9 -25
  235. package/lib/utils/extrude_polyline.js +101 -181
  236. package/lib/utils/grid-index.js +2 -28
  237. package/lib/utils/identityScale.js +0 -9
  238. package/lib/utils/layerData.js +30 -49
  239. package/lib/utils/multiPassRender.js +11 -16
  240. package/lib/utils/polylineNormal.js +31 -66
  241. package/lib/utils/simpleLine.js +2 -21
  242. package/lib/utils/stencil.js +0 -4
  243. package/lib/utils/symbol-layout.js +27 -55
  244. package/lib/wind/index.js +9 -37
  245. package/lib/wind/models/index.js +0 -3
  246. package/lib/wind/models/utils.js +26 -62
  247. package/lib/wind/models/wind.js +101 -157
  248. package/lib/wind/models/windRender.js +53 -71
  249. package/lib/wind/models/windShader.js +0 -1
  250. package/package.json +7 -7
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
@@ -13,76 +12,60 @@ exports.pentagon = pentagon;
13
12
  exports.polygonPath = polygonPath;
14
13
  exports.square = square;
15
14
  exports.triangle = triangle;
16
-
17
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
-
19
16
  var _geometryShape;
20
-
21
- var ShapeType3D;
22
- exports.ShapeType3D = ShapeType3D;
23
-
24
- (function (ShapeType3D) {
17
+ var ShapeType3D = /*#__PURE__*/function (ShapeType3D) {
25
18
  ShapeType3D["CYLINDER"] = "cylinder";
26
19
  ShapeType3D["SQUARECOLUMN"] = "squareColumn";
27
20
  ShapeType3D["TRIANGLECOLUMN"] = "triangleColumn";
28
21
  ShapeType3D["HEXAGONCOLUMN"] = "hexagonColumn";
29
22
  ShapeType3D["PENTAGONCOLUMN"] = "pentagonColumn";
30
- })(ShapeType3D || (exports.ShapeType3D = ShapeType3D = {}));
31
-
32
- var ShapeType2D;
23
+ return ShapeType3D;
24
+ }({});
25
+ exports.ShapeType3D = ShapeType3D;
26
+ var ShapeType2D = /*#__PURE__*/function (ShapeType2D) {
27
+ ShapeType2D["CIRCLE"] = "circle";
28
+ ShapeType2D["SQUARE"] = "square";
29
+ ShapeType2D["TRIANGLE"] = "triangle";
30
+ ShapeType2D["HEXAGON"] = "hexagon";
31
+ ShapeType2D["PENTAGON"] = "pentagon";
32
+ return ShapeType2D;
33
+ }({});
33
34
  /**
34
35
  * 生成规则多边形顶点个数
35
36
  * @param pointCount 顶点个数 3 => 三角形
36
37
  * @param start 顶点起始角度 调整图形的方向
37
38
  */
38
-
39
39
  exports.ShapeType2D = ShapeType2D;
40
-
41
- (function (ShapeType2D) {
42
- ShapeType2D["CIRCLE"] = "circle";
43
- ShapeType2D["SQUARE"] = "square";
44
- ShapeType2D["TRIANGLE"] = "triangle";
45
- ShapeType2D["HEXAGON"] = "hexagon";
46
- ShapeType2D["PENTAGON"] = "pentagon";
47
- })(ShapeType2D || (exports.ShapeType2D = ShapeType2D = {}));
48
-
49
40
  function polygonPath(pointCount) {
50
41
  var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
51
42
  var step = Math.PI * 2 / pointCount;
52
43
  var line = [];
53
-
54
44
  for (var i = 0; i < pointCount; i++) {
55
45
  line.push(step * i + start * Math.PI / 12);
56
46
  }
57
-
58
47
  var path = line.map(function (t) {
59
48
  var x = Math.sin(t + Math.PI / 4);
60
49
  var y = Math.cos(t + Math.PI / 4);
61
50
  return [x, y, 0];
62
- }); // path.push(path[0]);
63
-
51
+ });
52
+ // path.push(path[0]);
64
53
  return path;
65
54
  }
66
-
67
55
  function circle() {
68
56
  return polygonPath(30);
69
57
  }
70
-
71
58
  function square() {
72
59
  return polygonPath(4);
73
60
  }
74
-
75
61
  function triangle() {
76
62
  return polygonPath(3);
77
63
  }
78
-
79
64
  function hexagon() {
80
65
  return polygonPath(6, 1);
81
66
  }
82
-
83
67
  function pentagon() {
84
68
  return polygonPath(5);
85
69
  }
86
-
87
70
  var geometryShape = (_geometryShape = {}, (0, _defineProperty2.default)(_geometryShape, ShapeType2D.CIRCLE, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.HEXAGON, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.TRIANGLE, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.SQUARE, square), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.PENTAGON, pentagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.CYLINDER, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.HEXAGONCOLUMN, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.TRIANGLECOLUMN, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.SQUARECOLUMN, square), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.PENTAGONCOLUMN, pentagon), _geometryShape);
88
71
  exports.geometryShape = geometryShape;
@@ -1,22 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = extrudePolygon;
9
8
  exports.extrude_PolygonNormal = extrude_PolygonNormal;
10
9
  exports.fillPolygon = fillPolygon;
11
-
12
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
11
  var _l7Utils = require("@antv/l7-utils");
15
-
16
12
  var _earcut = _interopRequireDefault(require("earcut"));
17
-
18
13
  var _glMatrix = require("gl-matrix");
19
-
20
14
  /**
21
15
  * 拉伸多边形顶点,返回拉伸后的顶点信息
22
16
  * @param paths 路径数据组
@@ -25,20 +19,16 @@ var _glMatrix = require("gl-matrix");
25
19
  function extrudePolygon(path) {
26
20
  var p1 = path[0][0];
27
21
  var p2 = path[0][path[0].length - 1];
28
-
29
22
  if (p1[0] === p2[0] && p1[1] === p2[1]) {
30
23
  path[0] = path[0].slice(0, path[0].length - 1);
31
24
  }
32
-
33
25
  var n = path[0].length;
34
-
35
26
  var flattengeo = _earcut.default.flatten(path);
36
-
37
27
  var vertices = flattengeo.vertices,
38
- dimensions = flattengeo.dimensions;
28
+ dimensions = flattengeo.dimensions;
39
29
  var positions = [];
40
- var indexArray = []; // 设置顶部z值
41
-
30
+ var indexArray = [];
31
+ // 设置顶部z值
42
32
  for (var j = 0; j < vertices.length / dimensions; j++) {
43
33
  if (dimensions === 2) {
44
34
  positions.push(vertices[j * 2], vertices[j * 2 + 1], 1);
@@ -46,89 +36,80 @@ function extrudePolygon(path) {
46
36
  positions.push(vertices[j * 3], vertices[j * 3 + 1], 1);
47
37
  }
48
38
  }
49
-
50
39
  var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
51
40
  indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
52
-
53
- var _loop = function _loop(i) {
41
+ var _loop = function _loop() {
54
42
  var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
55
43
  var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
56
-
57
44
  if (nextPoint.length === 0) {
58
45
  nextPoint = flattengeo.vertices.slice(0, dimensions);
59
46
  }
60
-
61
47
  var indexOffset = positions.length / 3;
62
48
  positions.push(prePoint[0], prePoint[1], 1, nextPoint[0], nextPoint[1], 1, prePoint[0], prePoint[1], 0, nextPoint[0], nextPoint[1], 0);
63
49
  indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)([0, 2, 1, 2, 3, 1].map(function (v) {
64
50
  return v + indexOffset;
65
51
  })));
66
52
  };
67
-
68
53
  for (var i = 0; i < n; i++) {
69
- _loop(i);
54
+ _loop();
70
55
  }
71
-
72
56
  return {
73
57
  positions: positions,
74
58
  index: indexArray
75
59
  };
76
60
  }
77
-
78
61
  function fillPolygon(points) {
79
62
  var flattengeo = _earcut.default.flatten(points);
80
-
81
63
  var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
82
64
  return {
83
65
  positions: flattengeo.vertices,
84
66
  index: triangles
85
67
  };
86
68
  }
87
-
88
69
  function extrude_PolygonNormal(path) {
89
70
  var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
90
71
  var p1 = path[0][0];
91
72
  var p2 = path[0][path[0].length - 1];
92
-
93
73
  if (p1[0] === p2[0] && p1[1] === p2[1]) {
94
74
  path[0] = path[0].slice(0, path[0].length - 1);
95
75
  }
96
-
97
76
  var n = path[0].length;
98
-
99
77
  var flattengeo = _earcut.default.flatten(path);
100
-
101
78
  var vertices = flattengeo.vertices,
102
- dimensions = flattengeo.dimensions;
79
+ dimensions = flattengeo.dimensions;
103
80
  var positions = [];
104
81
  var indexArray = [];
105
- var normals = []; // 设置顶部z值 position uv
106
-
82
+ var normals = [];
83
+ // 设置顶部z值 position uv
107
84
  for (var j = 0; j < vertices.length / dimensions; j++) {
108
- positions.push(vertices[j * dimensions], // x
109
- vertices[j * dimensions + 1], // y
110
- 1, // z
111
- -1, // 顶部uv
85
+ positions.push(vertices[j * dimensions],
86
+ // x
87
+ vertices[j * dimensions + 1],
88
+ // y
89
+ 1,
90
+ // z
91
+ -1,
92
+ // 顶部uv
112
93
  -1 // 顶部uv
113
94
  );
95
+
114
96
  normals.push(0, 0, 1);
115
97
  }
116
-
117
98
  var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
118
- indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles)); // 设置侧面
119
-
120
- var _loop2 = function _loop2(i) {
99
+ indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
100
+ // 设置侧面
101
+ var _loop2 = function _loop2() {
121
102
  var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
122
103
  var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
123
-
124
104
  if (nextPoint.length === 0) {
125
105
  nextPoint = flattengeo.vertices.slice(0, dimensions);
126
106
  }
127
-
128
- var indexOffset = positions.length / 5; // 侧面四顶点
129
-
130
- positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1, // 侧面 低uv
131
- 0, // 侧面低 uv
107
+ var indexOffset = positions.length / 5;
108
+ // 侧面四顶点
109
+ positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1,
110
+ // 侧面 低uv
111
+ 0,
112
+ // 侧面低 uv
132
113
  prePoint[0], prePoint[1], 0, 0, 0.8, nextPoint[0], nextPoint[1], 0, 0.1, 0.8);
133
114
  var normal = computeVertexNormals([nextPoint[0], nextPoint[1], 1], [prePoint[0], prePoint[1], 0], [prePoint[0], prePoint[1], 1], needFlat);
134
115
  normals.push.apply(normals, (0, _toConsumableArray2.default)(normal).concat((0, _toConsumableArray2.default)(normal), (0, _toConsumableArray2.default)(normal), (0, _toConsumableArray2.default)(normal)));
@@ -136,48 +117,32 @@ function extrude_PolygonNormal(path) {
136
117
  return v + indexOffset;
137
118
  })));
138
119
  };
139
-
140
120
  for (var i = 0; i < n; i++) {
141
- _loop2(i);
121
+ _loop2();
142
122
  }
143
-
144
123
  return {
145
124
  positions: positions,
146
125
  index: indexArray,
147
126
  normals: normals
148
127
  };
149
128
  }
150
-
151
129
  function computeVertexNormals(p1, p2, p3) {
152
130
  var needFlat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
153
-
154
131
  var cb = _glMatrix.vec3.create();
155
-
156
132
  var ab = _glMatrix.vec3.create();
157
-
158
133
  var normal = _glMatrix.vec3.create();
159
-
160
134
  if (needFlat) {
161
135
  p1 = (0, _l7Utils.lngLatToMeters)(p1);
162
136
  p2 = (0, _l7Utils.lngLatToMeters)(p2);
163
137
  p3 = (0, _l7Utils.lngLatToMeters)(p3);
164
138
  }
165
-
166
139
  var pA = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p1));
167
-
168
140
  var pB = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p2));
169
-
170
141
  var pC = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p3));
171
-
172
142
  _glMatrix.vec3.sub(cb, pC, pB);
173
-
174
143
  _glMatrix.vec3.sub(ab, pA, pB);
175
-
176
144
  _glMatrix.vec3.cross(normal, cb, ab);
177
-
178
145
  var newNormal = _glMatrix.vec3.create();
179
-
180
146
  _glMatrix.vec3.normalize(newNormal, normal);
181
-
182
147
  return newNormal;
183
148
  }