@antv/l7-layers 2.17.2 → 2.17.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 +31 -9
  2. package/es/Geometry/models/billboard.js +89 -51
  3. package/es/Geometry/models/plane.js +143 -81
  4. package/es/Geometry/models/sprite.js +118 -60
  5. package/es/canvas/index.js +33 -10
  6. package/es/canvas/models/canvas.js +97 -41
  7. package/es/citybuliding/building.js +27 -8
  8. package/es/citybuliding/models/build.js +82 -57
  9. package/es/core/BaseLayer.js +478 -313
  10. package/es/core/BaseModel.js +80 -51
  11. package/es/core/CommonStyleAttribute.js +5 -2
  12. package/es/core/LayerPickService.js +32 -21
  13. package/es/core/TextureService.js +13 -0
  14. package/es/core/interface.js +24 -17
  15. package/es/core/shape/Path.js +20 -13
  16. package/es/core/shape/extrude.js +39 -27
  17. package/es/core/triangulation.js +136 -99
  18. package/es/earth/index.js +33 -9
  19. package/es/earth/models/atmosphere.js +54 -30
  20. package/es/earth/models/base.js +85 -47
  21. package/es/earth/models/bloomsphere.js +54 -30
  22. package/es/earth/utils.js +13 -9
  23. package/es/heatmap/index.js +40 -10
  24. package/es/heatmap/models/grid.js +52 -28
  25. package/es/heatmap/models/grid3d.js +52 -28
  26. package/es/heatmap/models/heatmap.js +149 -92
  27. package/es/heatmap/models/hexagon.js +52 -28
  28. package/es/heatmap/triangulation.js +4 -0
  29. package/es/image/index.js +28 -9
  30. package/es/image/models/image.js +100 -66
  31. package/es/index.js +17 -9
  32. package/es/line/index.js +35 -9
  33. package/es/line/models/arc.js +114 -64
  34. package/es/line/models/arc_3d.js +102 -58
  35. package/es/line/models/earthArc_3d.js +105 -60
  36. package/es/line/models/flow.js +60 -36
  37. package/es/line/models/great_circle.js +94 -53
  38. package/es/line/models/line.js +138 -86
  39. package/es/line/models/linearline.js +76 -43
  40. package/es/line/models/simpleLine.js +69 -39
  41. package/es/line/models/wall.js +92 -52
  42. package/es/mask/index.js +28 -9
  43. package/es/mask/models/fill.js +54 -29
  44. package/es/plugins/DataMappingPlugin.js +114 -78
  45. package/es/plugins/DataSourcePlugin.js +68 -45
  46. package/es/plugins/FeatureScalePlugin.js +122 -67
  47. package/es/plugins/LayerAnimateStylePlugin.js +5 -0
  48. package/es/plugins/LayerMaskPlugin.js +11 -3
  49. package/es/plugins/LayerModelPlugin.js +108 -69
  50. package/es/plugins/LayerStylePlugin.js +9 -3
  51. package/es/plugins/LightingPlugin.js +18 -12
  52. package/es/plugins/MultiPassRendererPlugin.js +16 -11
  53. package/es/plugins/PixelPickingPlugin.js +21 -12
  54. package/es/plugins/RegisterStyleAttributePlugin.js +12 -5
  55. package/es/plugins/ShaderUniformPlugin.js +27 -13
  56. package/es/plugins/UpdateModelPlugin.js +5 -0
  57. package/es/plugins/UpdateStyleAttributePlugin.js +11 -5
  58. package/es/point/index.js +78 -26
  59. package/es/point/models/earthExtrude.js +95 -58
  60. package/es/point/models/earthFill.js +80 -52
  61. package/es/point/models/extrude.js +94 -57
  62. package/es/point/models/fill.js +81 -56
  63. package/es/point/models/fillmage.js +100 -60
  64. package/es/point/models/image.js +83 -47
  65. package/es/point/models/index.js +2 -2
  66. package/es/point/models/normal.js +54 -30
  67. package/es/point/models/radar.js +63 -38
  68. package/es/point/models/simplePoint.js +62 -38
  69. package/es/point/models/text.js +296 -199
  70. package/es/point/shape/extrude.js +13 -4
  71. package/es/polygon/index.js +41 -11
  72. package/es/polygon/models/extrude.js +135 -87
  73. package/es/polygon/models/fill.js +79 -50
  74. package/es/polygon/models/index.js +2 -3
  75. package/es/polygon/models/ocean.js +76 -42
  76. package/es/polygon/models/water.js +71 -37
  77. package/es/raster/buffers/triangulation.js +4 -2
  78. package/es/raster/index.js +32 -9
  79. package/es/raster/models/raster.js +116 -80
  80. package/es/raster/models/rasterRgb.js +127 -84
  81. package/es/raster/models/rasterTerrainRgb.js +84 -56
  82. package/es/tile/interaction/getRasterData.js +20 -14
  83. package/es/tile/interaction/utils.js +9 -7
  84. package/es/tile/manager/base.js +96 -63
  85. package/es/tile/service/TileLayerService.js +55 -33
  86. package/es/tile/service/TilePickService.js +40 -26
  87. package/es/tile/service/TileSourceService.js +7 -3
  88. package/es/tile/tileFactory/DebugTile.js +46 -29
  89. package/es/tile/tileFactory/ImageTile.js +38 -20
  90. package/es/tile/tileFactory/MaskTile.js +43 -22
  91. package/es/tile/tileFactory/RasterRGBTile.js +42 -22
  92. package/es/tile/tileFactory/RasterTerrainRGBTile.js +38 -20
  93. package/es/tile/tileFactory/RasterTile.js +53 -30
  94. package/es/tile/tileFactory/Tile.js +97 -63
  95. package/es/tile/tileFactory/VectorTile.js +68 -41
  96. package/es/tile/tileFactory/index.js +11 -0
  97. package/es/tile/tileFactory/layers/TileDebugLayer.js +27 -6
  98. package/es/tile/tileFactory/util.js +3 -0
  99. package/es/tile/tileLayer/BaseLayer.js +146 -105
  100. package/es/tile/utils.js +1 -1
  101. package/es/utils/blend.js +2 -0
  102. package/es/utils/collision-index.js +16 -9
  103. package/es/utils/extrude_polyline.js +149 -101
  104. package/es/utils/grid-index.js +27 -2
  105. package/es/utils/identityScale.js +8 -0
  106. package/es/utils/layerData.js +44 -30
  107. package/es/utils/multiPassRender.js +13 -11
  108. package/es/utils/polylineNormal.js +37 -31
  109. package/es/utils/simpleLine.js +16 -2
  110. package/es/utils/stencil.js +3 -2
  111. package/es/utils/symbol-layout.js +53 -27
  112. package/es/wind/index.js +29 -9
  113. package/es/wind/models/utils.js +51 -26
  114. package/es/wind/models/wind.js +147 -101
  115. package/es/wind/models/windRender.js +66 -53
  116. package/lib/Geometry/index.js +38 -9
  117. package/lib/Geometry/models/billboard.js +97 -51
  118. package/lib/Geometry/models/index.js +5 -0
  119. package/lib/Geometry/models/plane.js +151 -79
  120. package/lib/Geometry/models/sprite.js +127 -60
  121. package/lib/canvas/index.js +40 -10
  122. package/lib/canvas/models/canvas.js +101 -41
  123. package/lib/canvas/models/index.js +3 -0
  124. package/lib/citybuliding/building.js +35 -8
  125. package/lib/citybuliding/models/build.js +92 -57
  126. package/lib/core/BaseLayer.js +469 -313
  127. package/lib/core/BaseModel.js +90 -51
  128. package/lib/core/CommonStyleAttribute.js +7 -2
  129. package/lib/core/LayerPickService.js +37 -21
  130. package/lib/core/TextureService.js +16 -0
  131. package/lib/core/interface.js +31 -21
  132. package/lib/core/schema.js +1 -0
  133. package/lib/core/shape/Path.js +31 -14
  134. package/lib/core/shape/extrude.js +62 -27
  135. package/lib/core/triangulation.js +177 -98
  136. package/lib/earth/index.js +43 -9
  137. package/lib/earth/models/atmosphere.js +63 -30
  138. package/lib/earth/models/base.js +90 -47
  139. package/lib/earth/models/bloomsphere.js +63 -30
  140. package/lib/earth/utils.js +31 -7
  141. package/lib/heatmap/index.js +48 -10
  142. package/lib/heatmap/models/grid.js +60 -28
  143. package/lib/heatmap/models/grid3d.js +60 -28
  144. package/lib/heatmap/models/heatmap.js +166 -92
  145. package/lib/heatmap/models/hexagon.js +60 -28
  146. package/lib/heatmap/models/index.js +6 -0
  147. package/lib/heatmap/triangulation.js +5 -0
  148. package/lib/image/index.js +36 -9
  149. package/lib/image/models/image.js +109 -66
  150. package/lib/image/models/index.js +3 -0
  151. package/lib/index.js +61 -7
  152. package/lib/line/index.js +40 -9
  153. package/lib/line/models/arc.js +124 -62
  154. package/lib/line/models/arc_3d.js +113 -56
  155. package/lib/line/models/earthArc_3d.js +115 -58
  156. package/lib/line/models/flow.js +70 -36
  157. package/lib/line/models/great_circle.js +104 -53
  158. package/lib/line/models/index.js +11 -0
  159. package/lib/line/models/line.js +146 -84
  160. package/lib/line/models/linearline.js +88 -43
  161. package/lib/line/models/simpleLine.js +79 -39
  162. package/lib/line/models/wall.js +103 -52
  163. package/lib/mask/index.js +36 -9
  164. package/lib/mask/models/fill.js +63 -29
  165. package/lib/mask/models/index.js +3 -0
  166. package/lib/plugins/DataMappingPlugin.js +125 -78
  167. package/lib/plugins/DataSourcePlugin.js +76 -45
  168. package/lib/plugins/FeatureScalePlugin.js +138 -67
  169. package/lib/plugins/LayerAnimateStylePlugin.js +10 -0
  170. package/lib/plugins/LayerMaskPlugin.js +17 -4
  171. package/lib/plugins/LayerModelPlugin.js +117 -70
  172. package/lib/plugins/LayerStylePlugin.js +14 -4
  173. package/lib/plugins/LightingPlugin.js +25 -12
  174. package/lib/plugins/MultiPassRendererPlugin.js +22 -11
  175. package/lib/plugins/PixelPickingPlugin.js +27 -12
  176. package/lib/plugins/RegisterStyleAttributePlugin.js +19 -5
  177. package/lib/plugins/ShaderUniformPlugin.js +34 -13
  178. package/lib/plugins/UpdateModelPlugin.js +10 -1
  179. package/lib/plugins/UpdateStyleAttributePlugin.js +16 -5
  180. package/lib/point/index.js +83 -26
  181. package/lib/point/models/earthExtrude.js +106 -58
  182. package/lib/point/models/earthFill.js +110 -52
  183. package/lib/point/models/extrude.js +103 -57
  184. package/lib/point/models/fill.js +90 -54
  185. package/lib/point/models/fillmage.js +107 -58
  186. package/lib/point/models/image.js +92 -47
  187. package/lib/point/models/index.js +12 -1
  188. package/lib/point/models/normal.js +64 -30
  189. package/lib/point/models/radar.js +72 -38
  190. package/lib/point/models/simplePoint.js +72 -38
  191. package/lib/point/models/text.js +305 -199
  192. package/lib/point/shape/extrude.js +20 -4
  193. package/lib/polygon/index.js +48 -11
  194. package/lib/polygon/models/extrude.js +146 -87
  195. package/lib/polygon/models/fill.js +89 -50
  196. package/lib/polygon/models/index.js +14 -2
  197. package/lib/polygon/models/ocean.js +88 -42
  198. package/lib/polygon/models/water.js +82 -37
  199. package/lib/raster/buffers/triangulation.js +7 -3
  200. package/lib/raster/index.js +40 -9
  201. package/lib/raster/models/index.js +5 -0
  202. package/lib/raster/models/raster.js +125 -80
  203. package/lib/raster/models/rasterRgb.js +139 -84
  204. package/lib/raster/models/rasterTerrainRgb.js +93 -56
  205. package/lib/tile/interaction/getRasterData.js +25 -14
  206. package/lib/tile/interaction/utils.js +19 -7
  207. package/lib/tile/manager/base.js +104 -63
  208. package/lib/tile/service/TileLayerService.js +60 -33
  209. package/lib/tile/service/TilePickService.js +48 -26
  210. package/lib/tile/service/TileSourceService.js +16 -2
  211. package/lib/tile/style/utils.js +3 -0
  212. package/lib/tile/tileFactory/DebugTile.js +54 -29
  213. package/lib/tile/tileFactory/ImageTile.js +46 -20
  214. package/lib/tile/tileFactory/MaskTile.js +51 -22
  215. package/lib/tile/tileFactory/RasterRGBTile.js +50 -22
  216. package/lib/tile/tileFactory/RasterTerrainRGBTile.js +46 -20
  217. package/lib/tile/tileFactory/RasterTile.js +63 -30
  218. package/lib/tile/tileFactory/Tile.js +102 -63
  219. package/lib/tile/tileFactory/VectorTile.js +76 -41
  220. package/lib/tile/tileFactory/index.js +25 -0
  221. package/lib/tile/tileFactory/layers/TileDebugLayer.js +32 -6
  222. package/lib/tile/tileFactory/util.js +9 -0
  223. package/lib/tile/tileLayer/BaseLayer.js +153 -105
  224. package/lib/tile/utils.js +5 -1
  225. package/lib/utils/blend.js +5 -0
  226. package/lib/utils/collision-index.js +25 -9
  227. package/lib/utils/extrude_polyline.js +181 -101
  228. package/lib/utils/grid-index.js +28 -2
  229. package/lib/utils/identityScale.js +9 -0
  230. package/lib/utils/layerData.js +49 -30
  231. package/lib/utils/multiPassRender.js +16 -11
  232. package/lib/utils/polylineNormal.js +66 -31
  233. package/lib/utils/simpleLine.js +21 -2
  234. package/lib/utils/stencil.js +4 -0
  235. package/lib/utils/symbol-layout.js +55 -27
  236. package/lib/wind/index.js +37 -9
  237. package/lib/wind/models/index.js +3 -0
  238. package/lib/wind/models/utils.js +62 -26
  239. package/lib/wind/models/wind.js +157 -101
  240. package/lib/wind/models/windRender.js +71 -53
  241. package/lib/wind/models/windShader.js +1 -0
  242. package/package.json +7 -7
@@ -7,21 +7,32 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
7
7
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
8
8
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
9
9
  import _regeneratorRuntime from "@babel/runtime/regenerator";
10
+
10
11
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
12
+
11
13
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
14
+
12
15
  import BaseLayer from "../core/BaseLayer";
13
16
  import GeometryModels from "./models";
17
+
14
18
  var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
15
19
  _inherits(GeometryLayer, _BaseLayer);
20
+
16
21
  var _super = _createSuper(GeometryLayer);
22
+
17
23
  function GeometryLayer() {
18
24
  var _this;
25
+
19
26
  _classCallCheck(this, GeometryLayer);
27
+
20
28
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
21
29
  args[_key] = arguments[_key];
22
30
  }
31
+
23
32
  _this = _super.call.apply(_super, [this].concat(args));
33
+
24
34
  _defineProperty(_assertThisInitialized(_this), "type", 'GeometryLayer');
35
+
25
36
  _defineProperty(_assertThisInitialized(_this), "defaultSourceConfig", {
26
37
  data: [{
27
38
  x: 0,
@@ -35,29 +46,36 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
35
46
  }
36
47
  }
37
48
  });
49
+
38
50
  return _this;
39
51
  }
52
+
40
53
  _createClass(GeometryLayer, [{
41
54
  key: "buildModels",
42
55
  value: function () {
43
56
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
44
57
  var modelType;
45
58
  return _regeneratorRuntime.wrap(function _callee$(_context) {
46
- while (1) switch (_context.prev = _context.next) {
47
- case 0:
48
- modelType = this.getModelType();
49
- this.layerModel = new GeometryModels[modelType](this);
50
- _context.next = 4;
51
- return this.initLayerModels();
52
- case 4:
53
- case "end":
54
- return _context.stop();
59
+ while (1) {
60
+ switch (_context.prev = _context.next) {
61
+ case 0:
62
+ modelType = this.getModelType();
63
+ this.layerModel = new GeometryModels[modelType](this);
64
+ _context.next = 4;
65
+ return this.initLayerModels();
66
+
67
+ case 4:
68
+ case "end":
69
+ return _context.stop();
70
+ }
55
71
  }
56
72
  }, _callee, this);
57
73
  }));
74
+
58
75
  function buildModels() {
59
76
  return _buildModels.apply(this, arguments);
60
77
  }
78
+
61
79
  return buildModels;
62
80
  }()
63
81
  }, {
@@ -75,8 +93,10 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
75
93
  key: "getModelType",
76
94
  value: function getModelType() {
77
95
  var _shapeAttribute$scale;
96
+
78
97
  var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
79
98
  var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
99
+
80
100
  if (shape === 'plane') {
81
101
  return 'plane';
82
102
  } else if (shape === 'sprite') {
@@ -88,6 +108,8 @@ var GeometryLayer = /*#__PURE__*/function (_BaseLayer) {
88
108
  }
89
109
  }
90
110
  }]);
111
+
91
112
  return GeometryLayer;
92
113
  }(BaseLayer);
114
+
93
115
  export { GeometryLayer as default };
@@ -8,49 +8,64 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConst
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
9
9
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
10
  import _regeneratorRuntime from "@babel/runtime/regenerator";
11
+
11
12
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
13
+
12
14
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
15
+
13
16
  import { AttributeType, gl } from '@antv/l7-core';
14
17
  import BaseModel from "../../core/BaseModel";
18
+
15
19
  /* babel-plugin-inline-import '../shaders/billboard_frag.glsl' */
16
20
  var planeFrag = "\nuniform sampler2D u_texture;\nuniform float u_opacity;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\n\n#pragma include \"picking\"\nvoid main() {\n gl_FragColor = texture2D(u_texture, vec2(v_uv.x, 1.0 - v_uv.y));\n gl_FragColor.a *= u_opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
21
+
17
22
  /* babel-plugin-inline-import '../shaders/billboard_vert.glsl' */
18
23
  var planeVert = "precision highp float;\nuniform mat4 u_ModelMatrix;\nuniform float u_raisingHeight: 0.0;\nuniform mat4 u_Mvp;\nuniform float u_opacity;\nuniform vec2 u_size: [1.0, 1.0];\nuniform mat2 u_RotateMatrix;\n\nattribute vec3 a_Extrude;\nattribute vec3 a_Position;\nattribute vec2 a_Uv;\nattribute vec3 a_Color;\n\nvarying vec3 v_Color;\nvarying vec2 v_uv;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\nvoid main() {\n vec3 extrude = a_Extrude;\n v_Color = a_Color;\n v_uv = a_Uv;\n\n float raiseHeight = u_raisingHeight;\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n raiseHeight = u_raisingHeight * mapboxZoomScale;\n }\n\n // \u8BA1\u7B97\u7ECF\u7EAC\u5EA6\u70B9\u4F4D\u5750\u6807\n vec4 project_pos = project_position(vec4(a_Position.xy, 0.0, 1.0));\n\n // \u8BA1\u7B97\u7ED5 z \u8F74\u65CB\u8F6C\u540E\u7684\u504F\u79FB\n vec2 offsetXY = project_pixel(u_RotateMatrix * vec2(extrude.x * u_size.x, 0.0));\n // \u7ED5 z \u8F74\u65CB\u8F6C\n float x = project_pos.x + offsetXY.x;\n float y = project_pos.y + offsetXY.y;\n // z \u8F74\u4E0D\u53C2\u4E0E\u65CB\u8F6C\n float z = project_pixel(extrude.y * u_size.y + raiseHeight);\n\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n // gl_Position = u_Mvp * (vec4(project_pos.xy, a_Position.z, 1.0));\n gl_Position = u_Mvp * (vec4(x, y, z, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(x , y, z , 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
24
+
19
25
  var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
20
26
  _inherits(BillBoardModel, _BaseModel);
27
+
21
28
  var _super = _createSuper(BillBoardModel);
29
+
22
30
  function BillBoardModel() {
23
31
  var _this;
32
+
24
33
  _classCallCheck(this, BillBoardModel);
34
+
25
35
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
26
36
  args[_key] = arguments[_key];
27
37
  }
38
+
28
39
  _this = _super.call.apply(_super, [this].concat(args));
40
+
29
41
  _defineProperty(_assertThisInitialized(_this), "radian", 0);
42
+
30
43
  _defineProperty(_assertThisInitialized(_this), "planeGeometryTriangulation", function () {
31
44
  var _ref = _this.layer.getLayerConfig(),
32
- _ref$center = _ref.center,
33
- center = _ref$center === void 0 ? [120, 30] : _ref$center;
45
+ _ref$center = _ref.center,
46
+ center = _ref$center === void 0 ? [120, 30] : _ref$center;
47
+
34
48
  return {
35
49
  size: 4,
36
50
  indices: [0, 1, 2, 2, 3, 0],
37
51
  vertices: [].concat(_toConsumableArray(center), [1, 1], _toConsumableArray(center), [0, 1], _toConsumableArray(center), [0, 0], _toConsumableArray(center), [1, 0])
38
52
  };
39
53
  });
54
+
40
55
  return _this;
41
56
  }
57
+
42
58
  _createClass(BillBoardModel, [{
43
59
  key: "getUninforms",
44
60
  value: function getUninforms() {
45
61
  var _ref2 = this.layer.getLayerConfig(),
46
- opacity = _ref2.opacity,
47
- _ref2$width = _ref2.width,
48
- width = _ref2$width === void 0 ? 1 : _ref2$width,
49
- _ref2$height = _ref2.height,
50
- height = _ref2$height === void 0 ? 1 : _ref2$height,
51
- _ref2$raisingHeight = _ref2.raisingHeight,
52
- raisingHeight = _ref2$raisingHeight === void 0 ? 0 : _ref2$raisingHeight;
53
-
62
+ opacity = _ref2.opacity,
63
+ _ref2$width = _ref2.width,
64
+ width = _ref2$width === void 0 ? 1 : _ref2$width,
65
+ _ref2$height = _ref2.height,
66
+ height = _ref2$height === void 0 ? 1 : _ref2$height,
67
+ _ref2$raisingHeight = _ref2.raisingHeight,
68
+ raisingHeight = _ref2$raisingHeight === void 0 ? 0 : _ref2$raisingHeight;
54
69
  /**
55
70
  * rotateFlag
56
71
  * DEFAULT 1
@@ -58,16 +73,19 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
58
73
  * GAODE2.x -1
59
74
  * GAODE1.x -1
60
75
  */
76
+
77
+
61
78
  var rotateFlag = 1;
79
+
62
80
  if (this.mapService.version === 'GAODE2.x' || this.mapService.version === 'GAODE1.x') {
63
81
  rotateFlag = -1;
64
- }
65
- // 控制图标的旋转角度(绕 Z 轴旋转)
82
+ } // 控制图标的旋转角度(绕 Z 轴旋转)
83
+
84
+
66
85
  this.radian = rotateFlag * Math.PI * (this.mapService.getRotation() % 360) / 180;
67
86
  return {
68
87
  u_raisingHeight: Number(raisingHeight),
69
- u_RotateMatrix: new Float32Array([
70
- // z
88
+ u_RotateMatrix: new Float32Array([// z
71
89
  Math.cos(this.radian), Math.sin(this.radian), -Math.sin(this.radian), Math.cos(this.radian)]),
72
90
  u_opacity: opacity || 1,
73
91
  u_texture: this.texture,
@@ -78,6 +96,7 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
78
96
  key: "clearModels",
79
97
  value: function clearModels() {
80
98
  var _this$texture;
99
+
81
100
  (_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
82
101
  }
83
102
  }, {
@@ -85,41 +104,50 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
85
104
  value: function () {
86
105
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
87
106
  var _ref3, drawCanvas, createTexture2D, model;
107
+
88
108
  return _regeneratorRuntime.wrap(function _callee$(_context) {
89
- while (1) switch (_context.prev = _context.next) {
90
- case 0:
91
- _ref3 = this.layer.getLayerConfig(), drawCanvas = _ref3.drawCanvas;
92
- createTexture2D = this.rendererService.createTexture2D;
93
- this.texture = createTexture2D({
94
- height: 0,
95
- width: 0
96
- });
97
- if (drawCanvas) {
98
- this.updateTexture(drawCanvas);
99
- }
100
- _context.next = 6;
101
- return this.layer.buildLayerModel({
102
- moduleName: 'geometryBillboard',
103
- vertexShader: planeVert,
104
- fragmentShader: planeFrag,
105
- triangulation: this.planeGeometryTriangulation,
106
- primitive: gl.TRIANGLES,
107
- depth: {
108
- enable: true
109
+ while (1) {
110
+ switch (_context.prev = _context.next) {
111
+ case 0:
112
+ _ref3 = this.layer.getLayerConfig(), drawCanvas = _ref3.drawCanvas;
113
+ createTexture2D = this.rendererService.createTexture2D;
114
+ this.texture = createTexture2D({
115
+ height: 0,
116
+ width: 0
117
+ });
118
+
119
+ if (drawCanvas) {
120
+ this.updateTexture(drawCanvas);
109
121
  }
110
- });
111
- case 6:
112
- model = _context.sent;
113
- return _context.abrupt("return", [model]);
114
- case 8:
115
- case "end":
116
- return _context.stop();
122
+
123
+ _context.next = 6;
124
+ return this.layer.buildLayerModel({
125
+ moduleName: 'geometryBillboard',
126
+ vertexShader: planeVert,
127
+ fragmentShader: planeFrag,
128
+ triangulation: this.planeGeometryTriangulation,
129
+ primitive: gl.TRIANGLES,
130
+ depth: {
131
+ enable: true
132
+ }
133
+ });
134
+
135
+ case 6:
136
+ model = _context.sent;
137
+ return _context.abrupt("return", [model]);
138
+
139
+ case 8:
140
+ case "end":
141
+ return _context.stop();
142
+ }
117
143
  }
118
144
  }, _callee, this);
119
145
  }));
146
+
120
147
  function initModels() {
121
148
  return _initModels.apply(this, arguments);
122
149
  }
150
+
123
151
  return initModels;
124
152
  }()
125
153
  }, {
@@ -127,33 +155,41 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
127
155
  value: function () {
128
156
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
129
157
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
130
- while (1) switch (_context2.prev = _context2.next) {
131
- case 0:
132
- return _context2.abrupt("return", this.initModels());
133
- case 1:
134
- case "end":
135
- return _context2.stop();
158
+ while (1) {
159
+ switch (_context2.prev = _context2.next) {
160
+ case 0:
161
+ return _context2.abrupt("return", this.initModels());
162
+
163
+ case 1:
164
+ case "end":
165
+ return _context2.stop();
166
+ }
136
167
  }
137
168
  }, _callee2, this);
138
169
  }));
170
+
139
171
  function buildModels() {
140
172
  return _buildModels.apply(this, arguments);
141
173
  }
174
+
142
175
  return buildModels;
143
176
  }()
144
177
  }, {
145
178
  key: "updateTexture",
146
179
  value: function updateTexture(drawCanvas) {
147
180
  var createTexture2D = this.rendererService.createTexture2D;
181
+
148
182
  var _ref4 = this.layer.getLayerConfig(),
149
- _ref4$canvasWidth = _ref4.canvasWidth,
150
- canvasWidth = _ref4$canvasWidth === void 0 ? 1 : _ref4$canvasWidth,
151
- _ref4$canvasHeight = _ref4.canvasHeight,
152
- canvasHeight = _ref4$canvasHeight === void 0 ? 1 : _ref4$canvasHeight;
183
+ _ref4$canvasWidth = _ref4.canvasWidth,
184
+ canvasWidth = _ref4$canvasWidth === void 0 ? 1 : _ref4$canvasWidth,
185
+ _ref4$canvasHeight = _ref4.canvasHeight,
186
+ canvasHeight = _ref4$canvasHeight === void 0 ? 1 : _ref4$canvasHeight;
187
+
153
188
  var canvas = document.createElement('canvas');
154
189
  canvas.width = canvasWidth;
155
190
  canvas.height = canvasHeight;
156
191
  var ctx = canvas.getContext('2d');
192
+
157
193
  if (ctx) {
158
194
  drawCanvas(canvas);
159
195
  this.texture = createTexture2D({
@@ -205,6 +241,8 @@ var BillBoardModel = /*#__PURE__*/function (_BaseModel) {
205
241
  });
206
242
  }
207
243
  }]);
244
+
208
245
  return BillBoardModel;
209
246
  }(BaseModel);
247
+
210
248
  export { BillBoardModel as default };