@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,72 +7,91 @@ 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 { AttributeType, gl } from '@antv/l7-core';
13
16
  import { calculateCentroid, getCullFace, rgb2arr } from '@antv/l7-utils';
14
17
  import { isNumber } from 'lodash';
15
18
  import BaseModel from "../../core/BaseModel";
16
19
  import { PointExtrudeTriangulation } from "../../core/triangulation";
17
20
  import { lglt2xyz } from "../../earth/utils";
21
+
18
22
  /* babel-plugin-inline-import '../shaders/earth/extrude_frag.glsl' */
19
23
  var pointExtrudeFrag = "varying vec4 v_color;\nuniform float u_opacity: 1.0;\n\nuniform float u_pickLight: 0.0;\n\n#pragma include \"picking\"\n\n\nuniform float u_linearColor: 0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\n\nuniform float u_opacitylinear: 0.0;\nuniform float u_opacitylinear_dir: 1.0;\nvarying float v_lightWeight;\nvarying float v_barLinearZ;\nvoid main() {\n\n gl_FragColor = v_color;\n\n // \u5F00\u542F\u900F\u660E\u5EA6\u6E10\u53D8\n if(u_opacitylinear > 0.0) {\n gl_FragColor.a *= u_opacitylinear_dir > 0.0 ? (1.0 - v_barLinearZ): v_barLinearZ;\n }\n\n // picking\n if(u_pickLight > 0.0) {\n gl_FragColor = filterColorAlpha(gl_FragColor, v_lightWeight);\n } else {\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n";
24
+
20
25
  /* babel-plugin-inline-import '../shaders/earth/extrude_vert.glsl' */
21
26
  var pointExtrudeVert = "precision highp float;\n\n#define pi 3.1415926535\n#define ambientRatio 0.5\n#define diffuseRatio 0.3\n#define specularRatio 0.2\n\nattribute vec3 a_Position;\nattribute vec3 a_Pos;\nattribute vec4 a_Color;\nattribute vec3 a_Size;\nattribute vec3 a_Normal;\n\nuniform float u_heightfixed: 0.0; // \u9ED8\u8BA4\u4E0D\u56FA\u5B9A\nuniform float u_globel;\nuniform float u_r;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nvarying vec4 v_color;\n\nuniform float u_opacity : 1;\nuniform float u_lightEnable: 1;\nvarying float v_lightWeight;\nvarying float v_barLinearZ;\n// \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\nfloat getYRadian(float x, float z) {\n if(x > 0.0 && z > 0.0) {\n return atan(x/z);\n } else if(x > 0.0 && z <= 0.0){\n return atan(-z/x) + pi/2.0;\n } else if(x <= 0.0 && z <= 0.0) {\n return pi + atan(x/z); //atan(x/z) + \n } else {\n return atan(z/-x) + pi*3.0/2.0;\n }\n}\n\nfloat getXRadian(float y, float r) {\n return atan(y/r);\n}\n\nvoid main() {\n\n \n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n textureOffset = opacityAndOffset.g;\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n vec3 size = a_Size * a_Position;\n\n // a_Position.z \u662F\u5728\u6784\u5EFA\u7F51\u683C\u7684\u65F6\u5019\u4F20\u5165\u7684\u6807\u51C6\u503C 0 - 1\uFF0C\u5728\u63D2\u503C\u5668\u63D2\u503C\u53EF\u4EE5\u83B7\u53D6 0\uFF5E1 \u7EBF\u6027\u6E10\u53D8\u7684\u503C\n v_barLinearZ = a_Position.z;\n\n vec3 offset = size; // \u63A7\u5236\u5706\u67F1\u4F53\u7684\u5927\u5C0F - \u4ECE\u6807\u51C6\u5355\u4F4D\u5706\u67F1\u4F53\u8FDB\u884C\u504F\u79FB\n if(u_heightfixed < 1.0) { // \u5706\u67F1\u4F53\u4E0D\u56FA\u5B9A\u9AD8\u5EA6\n \n if (u_CoordinateSystem == COORDINATE_SYSTEM_P20 || u_CoordinateSystem == COORDINATE_SYSTEM_P20_OFFSET) {\n // P20 \u5750\u6807\u7CFB\u4E0B\uFF0C\u4E3A\u4E86\u548C Web \u58A8\u5361\u6258\u5750\u6807\u7CFB\u7EDF\u4E00\uFF0Czoom \u9ED8\u8BA4\u51CF1\n offset = offset * pow(2.0, (19.0 - u_Zoom));\n }\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) {\n // P20_2 \u5750\u6807\u7CFB\u4E0B\uFF0C\u4E3A\u4E86\u548C Web \u58A8\u5361\u6258\u5750\u6807\u7CFB\u7EDF\u4E00\uFF0Czoom \u9ED8\u8BA4\u51CF3\n offset = offset * pow(2.0, (19.0 - 3.0 - u_Zoom));\n }\n } else {// \u5706\u67F1\u4F53\u56FA\u5B9A\u9AD8\u5EA6 \uFF08 \u5904\u7406 mapbox \uFF09\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n offset *= 4.0/pow(2.0, 21.0 - u_Zoom);\n }\n }\n\n\n vec4 project_pos = project_position(vec4(a_Pos.xy, 0., 1.0));\n\n // u_r \u63A7\u5236\u5706\u67F1\u7684\u751F\u957F\n vec4 pos = vec4(project_pos.xy + offset.xy, offset.z * u_r, 1.0);\n\n // \u5706\u67F1\u5149\u7167\u6548\u679C\n float lightWeight = 1.0;\n if(u_lightEnable > 0.0) { // \u53D6\u6D88\u4E09\u5143\u8868\u8FBE\u5F0F\uFF0C\u589E\u5F3A\u5065\u58EE\u6027\n lightWeight = calc_lighting(pos);\n }\n v_lightWeight = lightWeight;\n // \u8BBE\u7F6E\u5706\u67F1\u7684\u5E95\u8272\n if(u_linearColor == 1.0) { // \u4F7F\u7528\u6E10\u53D8\u989C\u8272\n v_color = mix(u_sourceColor, u_targetColor, barLinearZ);\n v_color.rgb *= lightWeight;\n } else { // \u4F7F\u7528 color \u65B9\u6CD5\u4F20\u5165\u7684\u989C\u8272\n v_color = a_Color;\n }\n v_color.a *= u_opacity;\n\n \n // \u5728\u5730\u7403\u6A21\u5F0F\u4E0B\uFF0C\u5C06\u539F\u672C\u5782\u76F4\u4E8E xy \u5E73\u9762\u7684\u5706\u67F1\u8C03\u6574\u59FF\u6001\u5230\u9002\u5E94\u5706\u7684\u89D2\u5EA6\n //\u65CB\u8F6C\u77E9\u9635mx\uFF0C\u521B\u5EFA\u7ED5x\u8F74\u65CB\u8F6C\u77E9\u9635\n float r = sqrt(a_Pos.z*a_Pos.z + a_Pos.x*a_Pos.x);\n float xRadian = getXRadian(a_Pos.y, r);\n float xcos = cos(xRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u4F59\u5F26\u503C\n float xsin = sin(xRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u6B63\u5F26\u503C\n mat4 mx = mat4(\n 1,0,0,0, \n 0,xcos,-xsin,0, \n 0,xsin,xcos,0, \n 0,0,0,1);\n\n //\u65CB\u8F6C\u77E9\u9635my\uFF0C\u521B\u5EFA\u7ED5y\u8F74\u65CB\u8F6C\u77E9\u9635\n float yRadian = getYRadian(a_Pos.x, a_Pos.z);\n float ycos = cos(yRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u4F59\u5F26\u503C\n float ysin = sin(yRadian);//\u6C42\u89E3\u65CB\u8F6C\u89D2\u5EA6\u6B63\u5F26\u503C\n mat4 my = mat4(\n ycos,0,-ysin,0, \n 0,1,0,0, \n ysin,0,ycos,0, \n 0,0,0,1);\n\n gl_Position = u_ViewProjectionMatrix * vec4(( my * mx * vec4(a_Position * a_Size, 1.0)).xyz + a_Pos, 1.0);\n \n\n setPickingColor(a_PickingColor);\n}\n";
27
+
22
28
  var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
23
29
  _inherits(ExtrudeModel, _BaseModel);
30
+
24
31
  var _super = _createSuper(ExtrudeModel);
32
+
25
33
  function ExtrudeModel() {
26
34
  var _this;
35
+
27
36
  _classCallCheck(this, ExtrudeModel);
37
+
28
38
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
29
39
  args[_key] = arguments[_key];
30
40
  }
41
+
31
42
  _this = _super.call.apply(_super, [this].concat(args));
43
+
32
44
  _defineProperty(_assertThisInitialized(_this), "raiseCount", 0);
45
+
33
46
  _defineProperty(_assertThisInitialized(_this), "raiseRepeat", 0);
47
+
34
48
  return _this;
35
49
  }
50
+
36
51
  _createClass(ExtrudeModel, [{
37
52
  key: "getUninforms",
38
53
  value: function getUninforms() {
39
54
  var _ref = this.layer.getLayerConfig(),
40
- _ref$animateOption = _ref.animateOption,
41
- animateOption = _ref$animateOption === void 0 ? {
42
- enable: false,
43
- speed: 0.01,
44
- repeat: false
45
- } : _ref$animateOption,
46
- _ref$opacity = _ref.opacity,
47
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
48
- sourceColor = _ref.sourceColor,
49
- targetColor = _ref.targetColor,
50
- _ref$pickLight = _ref.pickLight,
51
- pickLight = _ref$pickLight === void 0 ? false : _ref$pickLight,
52
- _ref$heightfixed = _ref.heightfixed,
53
- heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
54
- _ref$opacityLinear = _ref.opacityLinear,
55
- opacityLinear = _ref$opacityLinear === void 0 ? {
56
- enable: false,
57
- dir: 'up'
58
- } : _ref$opacityLinear,
59
- _ref$lightEnable = _ref.lightEnable,
60
- lightEnable = _ref$lightEnable === void 0 ? true : _ref$lightEnable;
61
-
62
- // 转化渐变色
55
+ _ref$animateOption = _ref.animateOption,
56
+ animateOption = _ref$animateOption === void 0 ? {
57
+ enable: false,
58
+ speed: 0.01,
59
+ repeat: false
60
+ } : _ref$animateOption,
61
+ _ref$opacity = _ref.opacity,
62
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
63
+ sourceColor = _ref.sourceColor,
64
+ targetColor = _ref.targetColor,
65
+ _ref$pickLight = _ref.pickLight,
66
+ pickLight = _ref$pickLight === void 0 ? false : _ref$pickLight,
67
+ _ref$heightfixed = _ref.heightfixed,
68
+ heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
69
+ _ref$opacityLinear = _ref.opacityLinear,
70
+ opacityLinear = _ref$opacityLinear === void 0 ? {
71
+ enable: false,
72
+ dir: 'up'
73
+ } : _ref$opacityLinear,
74
+ _ref$lightEnable = _ref.lightEnable,
75
+ lightEnable = _ref$lightEnable === void 0 ? true : _ref$lightEnable; // 转化渐变色
76
+
77
+
63
78
  var useLinearColor = 0; // 默认不生效
79
+
64
80
  var sourceColorArr = [0, 0, 0, 0];
65
81
  var targetColorArr = [0, 0, 0, 0];
82
+
66
83
  if (sourceColor && targetColor) {
67
84
  sourceColorArr = rgb2arr(sourceColor);
68
85
  targetColorArr = rgb2arr(targetColor);
69
86
  useLinearColor = 1;
70
87
  }
88
+
71
89
  if (this.raiseCount < 1 && this.raiseRepeat > 0) {
72
90
  if (animateOption.enable) {
73
91
  var _animateOption$speed = animateOption.speed,
74
- speed = _animateOption$speed === void 0 ? 0.01 : _animateOption$speed;
92
+ speed = _animateOption$speed === void 0 ? 0.01 : _animateOption$speed;
75
93
  this.raiseCount += speed;
94
+
76
95
  if (this.raiseCount >= 1) {
77
96
  if (this.raiseRepeat > 1) {
78
97
  this.raiseCount = 0;
@@ -83,6 +102,7 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
83
102
  }
84
103
  }
85
104
  }
105
+
86
106
  return {
87
107
  // 圆柱体的拾取高亮是否要计算光照
88
108
  u_pickLight: Number(pickLight),
@@ -106,18 +126,23 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
106
126
  value: function () {
107
127
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
108
128
  return _regeneratorRuntime.wrap(function _callee$(_context) {
109
- while (1) switch (_context.prev = _context.next) {
110
- case 0:
111
- return _context.abrupt("return", this.buildModels());
112
- case 1:
113
- case "end":
114
- return _context.stop();
129
+ while (1) {
130
+ switch (_context.prev = _context.next) {
131
+ case 0:
132
+ return _context.abrupt("return", this.buildModels());
133
+
134
+ case 1:
135
+ case "end":
136
+ return _context.stop();
137
+ }
115
138
  }
116
139
  }, _callee, this);
117
140
  }));
141
+
118
142
  function initModels() {
119
143
  return _initModels.apply(this, arguments);
120
144
  }
145
+
121
146
  return initModels;
122
147
  }()
123
148
  }, {
@@ -125,39 +150,46 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
125
150
  value: function () {
126
151
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
127
152
  var _ref2, _ref2$animateOption$r, repeat, model;
153
+
128
154
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
129
- while (1) switch (_context2.prev = _context2.next) {
130
- case 0:
131
- // GAODE1.x GAODE2.x MAPBOX
132
- _ref2 = this.layer.getLayerConfig(), _ref2$animateOption$r = _ref2.animateOption.repeat, repeat = _ref2$animateOption$r === void 0 ? 1 : _ref2$animateOption$r;
133
- this.raiseRepeat = repeat;
134
- _context2.next = 4;
135
- return this.layer.buildLayerModel({
136
- moduleName: 'pointEarthExtrude',
137
- vertexShader: pointExtrudeVert,
138
- fragmentShader: pointExtrudeFrag,
139
- triangulation: PointExtrudeTriangulation,
140
- depth: {
141
- enable: true
142
- },
143
- cull: {
144
- enable: true,
145
- face: getCullFace(this.mapService.version)
146
- },
147
- blend: this.getBlend()
148
- });
149
- case 4:
150
- model = _context2.sent;
151
- return _context2.abrupt("return", [model]);
152
- case 6:
153
- case "end":
154
- return _context2.stop();
155
+ while (1) {
156
+ switch (_context2.prev = _context2.next) {
157
+ case 0:
158
+ // GAODE1.x GAODE2.x MAPBOX
159
+ _ref2 = this.layer.getLayerConfig(), _ref2$animateOption$r = _ref2.animateOption.repeat, repeat = _ref2$animateOption$r === void 0 ? 1 : _ref2$animateOption$r;
160
+ this.raiseRepeat = repeat;
161
+ _context2.next = 4;
162
+ return this.layer.buildLayerModel({
163
+ moduleName: 'pointEarthExtrude',
164
+ vertexShader: pointExtrudeVert,
165
+ fragmentShader: pointExtrudeFrag,
166
+ triangulation: PointExtrudeTriangulation,
167
+ depth: {
168
+ enable: true
169
+ },
170
+ cull: {
171
+ enable: true,
172
+ face: getCullFace(this.mapService.version)
173
+ },
174
+ blend: this.getBlend()
175
+ });
176
+
177
+ case 4:
178
+ model = _context2.sent;
179
+ return _context2.abrupt("return", [model]);
180
+
181
+ case 6:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
155
185
  }
156
186
  }, _callee2, this);
157
187
  }));
188
+
158
189
  function buildModels() {
159
190
  return _buildModels.apply(this, arguments);
160
191
  }
192
+
161
193
  return buildModels;
162
194
  }()
163
195
  }, {
@@ -176,23 +208,26 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
176
208
  size: 3,
177
209
  update: function update(feature) {
178
210
  var size = feature.size;
211
+
179
212
  if (size) {
180
213
  var buffersize = [];
214
+
181
215
  if (Array.isArray(size)) {
182
216
  buffersize = size.length === 2 ? [size[0], size[0], size[1]] : size;
183
217
  }
218
+
184
219
  if (!Array.isArray(size)) {
185
220
  buffersize = [size, size, size];
186
221
  }
222
+
187
223
  return buffersize;
188
224
  } else {
189
225
  return [2, 2, 2];
190
226
  }
191
227
  }
192
228
  }
193
- });
229
+ }); // point layer size;
194
230
 
195
- // point layer size;
196
231
  this.styleAttributeService.registerStyleAttribute({
197
232
  name: 'normal',
198
233
  type: AttributeType.Attribute,
@@ -229,6 +264,8 @@ var ExtrudeModel = /*#__PURE__*/function (_BaseModel) {
229
264
  });
230
265
  }
231
266
  }]);
267
+
232
268
  return ExtrudeModel;
233
269
  }(BaseModel);
270
+
234
271
  export { ExtrudeModel as default };
@@ -7,57 +7,69 @@ import _inherits from "@babel/runtime/helpers/esm/inherits";
7
7
  import _possibleConstructorReturn from "@babel/runtime/helpers/esm/possibleConstructorReturn";
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
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 { AttributeType, gl } from '@antv/l7-core';
13
16
  import BaseModel from "../../core/BaseModel";
14
17
  import { GlobelPointFillTriangulation } from "../../core/triangulation";
18
+
15
19
  /* babel-plugin-inline-import '../shaders/earth/fill_frag.glsl' */
16
20
  var pointFillFrag = "uniform float u_additive;\nuniform float u_opacity : 1;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\n\nvoid main() {\n int shape = int(floor(v_data.w + 0.5));\n\n vec4 strokeColor = textrueStroke == vec4(0) ? v_color : textrueStroke;\n\n lowp float antialiasblur = v_data.z;\n float r = v_radius / (v_radius + strokeWidth);\n\n float outer_df;\n float inner_df;\n // 'circle', 'triangle', 'square', 'pentagon', 'hexagon', 'octogon', 'hexagram', 'rhombus', 'vesica'\n if (shape == 0) {\n outer_df = sdCircle(v_data.xy, 1.0);\n inner_df = sdCircle(v_data.xy, r);\n } else if (shape == 1) {\n outer_df = sdEquilateralTriangle(1.1 * v_data.xy);\n inner_df = sdEquilateralTriangle(1.1 / r * v_data.xy);\n } else if (shape == 2) {\n outer_df = sdBox(v_data.xy, vec2(1.));\n inner_df = sdBox(v_data.xy, vec2(r));\n } else if (shape == 3) {\n outer_df = sdPentagon(v_data.xy, 0.8);\n inner_df = sdPentagon(v_data.xy, r * 0.8);\n } else if (shape == 4) {\n outer_df = sdHexagon(v_data.xy, 0.8);\n inner_df = sdHexagon(v_data.xy, r * 0.8);\n } else if (shape == 5) {\n outer_df = sdOctogon(v_data.xy, 1.0);\n inner_df = sdOctogon(v_data.xy, r);\n } else if (shape == 6) {\n outer_df = sdHexagram(v_data.xy, 0.52);\n inner_df = sdHexagram(v_data.xy, r * 0.52);\n } else if (shape == 7) {\n outer_df = sdRhombus(v_data.xy, vec2(1.0));\n inner_df = sdRhombus(v_data.xy, vec2(r));\n } else if (shape == 8) {\n outer_df = sdVesica(v_data.xy, 1.1, 0.8);\n inner_df = sdVesica(v_data.xy, r * 1.1, r * 0.8);\n }\n\n if(outer_df > antialiasblur + 0.018) discard;\n\n float opacity_t = smoothstep(0.0, antialiasblur, outer_df);\n\n float color_t = strokeWidth < 0.01 ? 0.0 : smoothstep(\n antialiasblur,\n 0.0,\n inner_df\n );\n\n if(strokeWidth < 0.01) {\n gl_FragColor = vec4(v_color.rgb, v_color.a * u_opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * u_opacity), u_stroke_color * u_stroke_opacity, color_t);\n }\n\n if(u_additive > 0.0) {\n gl_FragColor *= opacity_t;\n gl_FragColor = filterColorAlpha(gl_FragColor, gl_FragColor.a);\n } else {\n gl_FragColor.a *= opacity_t;\n gl_FragColor = filterColor(gl_FragColor);\n }\n}\n";
21
+
17
22
  /* babel-plugin-inline-import '../shaders/earth/fill_vert.glsl' */
18
23
  var pointFillVert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\nuniform float u_opacity : 1;\nuniform float u_stroke_opacity : 1;\nuniform float u_stroke_width : 2;\nuniform vec4 u_stroke_color : [0.0, 0.0, 0.0, 0.0];\nuniform vec2 u_offsets;\n\nuniform float u_blur : 0.0;\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n /*\n * setPickingSize \u8BBE\u7F6E\u62FE\u53D6\u5927\u5C0F\n */\n float newSize = setPickingSize(a_Size);\n // float newSize = setPickingSize(a_Size) * 0.00001038445708445579;\n\n // unpack color(vec2)\n v_color = a_Color;\n\n // radius(16-bit)\n v_radius = newSize;\n\n // anti-alias\n // float antialiased_blur = -max(u_blur, antialiasblur);\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / newSize, u_blur);\n\n // TODP: /abs(extrude.x) \u662F\u4E3A\u4E86\u517C\u5BB9\u5730\u7403\u6A21\u5F0F\n v_data = vec4(extrude.x/abs(extrude.x), extrude.y/abs(extrude.y), antialiasblur,shape_type);\n\n\n gl_Position = u_ViewProjectionMatrix * vec4(a_Position + extrude * newSize * 0.1 + u_offsets, 1.0);\n\n setPickingColor(a_PickingColor);\n}\n";
19
24
  import { rgb2arr } from '@antv/l7-utils';
20
25
  import { mat4, vec3 } from 'gl-matrix';
26
+
21
27
  var FillModel = /*#__PURE__*/function (_BaseModel) {
22
28
  _inherits(FillModel, _BaseModel);
29
+
23
30
  var _super = _createSuper(FillModel);
31
+
24
32
  function FillModel() {
25
33
  _classCallCheck(this, FillModel);
34
+
26
35
  return _super.apply(this, arguments);
27
36
  }
37
+
28
38
  _createClass(FillModel, [{
29
39
  key: "getUninforms",
30
40
  value: function getUninforms() {
31
41
  var _ref = this.layer.getLayerConfig(),
32
- _ref$opacity = _ref.opacity,
33
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
34
- _ref$strokeOpacity = _ref.strokeOpacity,
35
- strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
36
- _ref$strokeWidth = _ref.strokeWidth,
37
- strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
38
- _ref$stroke = _ref.stroke,
39
- stroke = _ref$stroke === void 0 ? 'rgba(0,0,0,0)' : _ref$stroke,
40
- blend = _ref.blend,
41
- _ref$blur = _ref.blur,
42
- blur = _ref$blur === void 0 ? 0 : _ref$blur;
42
+ _ref$opacity = _ref.opacity,
43
+ opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
44
+ _ref$strokeOpacity = _ref.strokeOpacity,
45
+ strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
46
+ _ref$strokeWidth = _ref.strokeWidth,
47
+ strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
48
+ _ref$stroke = _ref.stroke,
49
+ stroke = _ref$stroke === void 0 ? 'rgba(0,0,0,0)' : _ref$stroke,
50
+ blend = _ref.blend,
51
+ _ref$blur = _ref.blur,
52
+ blur = _ref$blur === void 0 ? 0 : _ref$blur;
53
+
43
54
  return {
44
55
  u_blur: blur,
45
56
  u_additive: blend === 'additive' ? 1.0 : 0.0,
46
57
  u_opacity: opacity,
47
58
  u_stroke_opacity: strokeOpacity,
48
59
  u_stroke_width: strokeWidth,
49
- u_stroke_color: rgb2arr(stroke)
50
- // u_offsets: offsets,
60
+ u_stroke_color: rgb2arr(stroke) // u_offsets: offsets,
61
+
51
62
  };
52
63
  }
53
64
  }, {
54
65
  key: "getAnimateUniforms",
55
66
  value: function getAnimateUniforms() {
56
67
  var _ref2 = this.layer.getLayerConfig(),
57
- _ref2$animateOption = _ref2.animateOption,
58
- animateOption = _ref2$animateOption === void 0 ? {
59
- enable: false
60
- } : _ref2$animateOption;
68
+ _ref2$animateOption = _ref2.animateOption,
69
+ animateOption = _ref2$animateOption === void 0 ? {
70
+ enable: false
71
+ } : _ref2$animateOption;
72
+
61
73
  return {
62
74
  u_animate: this.animateOption2Array(animateOption),
63
75
  u_time: this.layer.getLayerAnimateTime()
@@ -68,18 +80,23 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
68
80
  value: function () {
69
81
  var _initModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
70
82
  return _regeneratorRuntime.wrap(function _callee$(_context) {
71
- while (1) switch (_context.prev = _context.next) {
72
- case 0:
73
- return _context.abrupt("return", this.buildModels());
74
- case 1:
75
- case "end":
76
- return _context.stop();
83
+ while (1) {
84
+ switch (_context.prev = _context.next) {
85
+ case 0:
86
+ return _context.abrupt("return", this.buildModels());
87
+
88
+ case 1:
89
+ case "end":
90
+ return _context.stop();
91
+ }
77
92
  }
78
93
  }, _callee, this);
79
94
  }));
95
+
80
96
  function initModels() {
81
97
  return _initModels.apply(this, arguments);
82
98
  }
99
+
83
100
  return initModels;
84
101
  }()
85
102
  }, {
@@ -88,34 +105,41 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
88
105
  var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
89
106
  var model;
90
107
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
91
- while (1) switch (_context2.prev = _context2.next) {
92
- case 0:
93
- this.layer.triangulation = GlobelPointFillTriangulation;
94
- _context2.next = 3;
95
- return this.layer.buildLayerModel({
96
- moduleName: 'pointEarthFill',
97
- vertexShader: pointFillVert,
98
- fragmentShader: pointFillFrag,
99
- triangulation: GlobelPointFillTriangulation,
100
- depth: {
101
- enable: true
102
- },
103
- blend: this.getBlend()
104
- });
105
- case 3:
106
- model = _context2.sent;
107
- return _context2.abrupt("return", [model]);
108
- case 5:
109
- case "end":
110
- return _context2.stop();
108
+ while (1) {
109
+ switch (_context2.prev = _context2.next) {
110
+ case 0:
111
+ this.layer.triangulation = GlobelPointFillTriangulation;
112
+ _context2.next = 3;
113
+ return this.layer.buildLayerModel({
114
+ moduleName: 'pointEarthFill',
115
+ vertexShader: pointFillVert,
116
+ fragmentShader: pointFillFrag,
117
+ triangulation: GlobelPointFillTriangulation,
118
+ depth: {
119
+ enable: true
120
+ },
121
+ blend: this.getBlend()
122
+ });
123
+
124
+ case 3:
125
+ model = _context2.sent;
126
+ return _context2.abrupt("return", [model]);
127
+
128
+ case 5:
129
+ case "end":
130
+ return _context2.stop();
131
+ }
111
132
  }
112
133
  }, _callee2, this);
113
134
  }));
135
+
114
136
  function buildModels() {
115
137
  return _buildModels.apply(this, arguments);
116
138
  }
139
+
117
140
  return buildModels;
118
141
  }() // overwrite baseModel func
142
+
119
143
  }, {
120
144
  key: "animateOption2Array",
121
145
  value: function animateOption2Array(option) {
@@ -125,6 +149,7 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
125
149
  key: "registerBuiltinAttributes",
126
150
  value: function registerBuiltinAttributes() {
127
151
  var _this = this;
152
+
128
153
  this.styleAttributeService.registerStyleAttribute({
129
154
  name: 'extrude',
130
155
  type: AttributeType.Attribute,
@@ -139,9 +164,10 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
139
164
  size: 3,
140
165
  update: function update(feature, featureIdx, vertex, attributeIdx) {
141
166
  var _vertex = _slicedToArray(vertex, 3),
142
- x = _vertex[0],
143
- y = _vertex[1],
144
- z = _vertex[2];
167
+ x = _vertex[0],
168
+ y = _vertex[1],
169
+ z = _vertex[2];
170
+
145
171
  var n1 = vec3.fromValues(0, 0, 1);
146
172
  var n2 = vec3.fromValues(x, 0, z);
147
173
  var xzReg = x >= 0 ? vec3.angle(n1, n2) : Math.PI * 2 - vec3.angle(n1, n2);
@@ -166,9 +192,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
166
192
  return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
167
193
  }
168
194
  }
169
- });
195
+ }); // point layer size;
170
196
 
171
- // point layer size;
172
197
  this.styleAttributeService.registerStyleAttribute({
173
198
  name: 'size',
174
199
  type: AttributeType.Attribute,
@@ -183,13 +208,12 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
183
208
  size: 1,
184
209
  update: function update(feature) {
185
210
  var _feature$size = feature.size,
186
- size = _feature$size === void 0 ? 5 : _feature$size;
211
+ size = _feature$size === void 0 ? 5 : _feature$size;
187
212
  return Array.isArray(size) ? [size[0]] : [size];
188
213
  }
189
214
  }
190
- });
215
+ }); // point layer size;
191
216
 
192
- // point layer size;
193
217
  this.styleAttributeService.registerStyleAttribute({
194
218
  name: 'shape',
195
219
  type: AttributeType.Attribute,
@@ -204,8 +228,10 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
204
228
  size: 1,
205
229
  update: function update(feature) {
206
230
  var _feature$shape = feature.shape,
207
- shape = _feature$shape === void 0 ? 2 : _feature$shape;
231
+ shape = _feature$shape === void 0 ? 2 : _feature$shape;
232
+
208
233
  var shape2d = _this.layer.getLayerConfig().shape2d;
234
+
209
235
  var shapeIndex = shape2d.indexOf(shape);
210
236
  return [shapeIndex];
211
237
  }
@@ -213,6 +239,8 @@ var FillModel = /*#__PURE__*/function (_BaseModel) {
213
239
  });
214
240
  }
215
241
  }]);
242
+
216
243
  return FillModel;
217
244
  }(BaseModel);
245
+
218
246
  export { FillModel as default };