@antv/l7-layers 2.5.33 → 2.5.37-mini

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 (236) hide show
  1. package/lib/core/BaseModel.js +1 -1
  2. package/lib/core/BaseModel.js.map +1 -1
  3. package/lib/earth/models/atmosphere.js +1 -0
  4. package/lib/earth/models/atmosphere.js.map +1 -1
  5. package/lib/earth/models/base.js +1 -0
  6. package/lib/earth/models/base.js.map +1 -1
  7. package/lib/heatmap/models/heatmap.js +12 -17
  8. package/lib/heatmap/models/heatmap.js.map +1 -1
  9. package/lib/plugins/LayerStylePlugin.js.map +1 -1
  10. package/lib/plugins/ShaderUniformPlugin.js +3 -1
  11. package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
  12. package/lib/point/models/image.js.map +1 -1
  13. package/package.json +5 -5
  14. package/CHANGELOG.md +0 -492
  15. package/LICENSE.md +0 -21
  16. package/es/citybuliding/building.d.ts +0 -17
  17. package/es/citybuliding/building.js +0 -79
  18. package/es/citybuliding/building.js.map +0 -1
  19. package/es/citybuliding/models/build.d.ts +0 -13
  20. package/es/citybuliding/models/build.js +0 -124
  21. package/es/citybuliding/models/build.js.map +0 -1
  22. package/es/core/BaseLayer.d.ts +0 -174
  23. package/es/core/BaseLayer.js +0 -974
  24. package/es/core/BaseLayer.js.map +0 -1
  25. package/es/core/BaseModel.d.ts +0 -135
  26. package/es/core/BaseModel.js +0 -412
  27. package/es/core/BaseModel.js.map +0 -1
  28. package/es/core/interface.d.ts +0 -19
  29. package/es/core/interface.js +0 -7
  30. package/es/core/interface.js.map +0 -1
  31. package/es/core/schema.d.ts +0 -27
  32. package/es/core/schema.js +0 -23
  33. package/es/core/schema.js.map +0 -1
  34. package/es/core/shape/Path.d.ts +0 -39
  35. package/es/core/shape/Path.js +0 -57
  36. package/es/core/shape/Path.js.map +0 -1
  37. package/es/core/shape/extrude.d.ts +0 -17
  38. package/es/core/shape/extrude.js +0 -143
  39. package/es/core/shape/extrude.js.map +0 -1
  40. package/es/core/triangulation.d.ts +0 -109
  41. package/es/core/triangulation.js +0 -328
  42. package/es/core/triangulation.js.map +0 -1
  43. package/es/earth/index.d.ts +0 -17
  44. package/es/earth/index.js +0 -81
  45. package/es/earth/index.js.map +0 -1
  46. package/es/earth/models/atmosphere.d.ts +0 -9
  47. package/es/earth/models/atmosphere.js +0 -124
  48. package/es/earth/models/atmosphere.js.map +0 -1
  49. package/es/earth/models/base.d.ts +0 -16
  50. package/es/earth/models/base.js +0 -192
  51. package/es/earth/models/base.js.map +0 -1
  52. package/es/earth/models/bloomsphere.d.ts +0 -9
  53. package/es/earth/models/bloomsphere.js +0 -125
  54. package/es/earth/models/bloomsphere.js.map +0 -1
  55. package/es/earth/utils.d.ts +0 -26
  56. package/es/earth/utils.js +0 -81
  57. package/es/earth/utils.js.map +0 -1
  58. package/es/glsl.d.js +0 -2
  59. package/es/glsl.d.js.map +0 -1
  60. package/es/heatmap/index.d.ts +0 -22
  61. package/es/heatmap/index.js +0 -123
  62. package/es/heatmap/index.js.map +0 -1
  63. package/es/heatmap/models/grid.d.ts +0 -8
  64. package/es/heatmap/models/grid.js +0 -90
  65. package/es/heatmap/models/grid.js.map +0 -1
  66. package/es/heatmap/models/grid3d.d.ts +0 -8
  67. package/es/heatmap/models/grid3d.js +0 -122
  68. package/es/heatmap/models/grid3d.js.map +0 -1
  69. package/es/heatmap/models/heatmap.d.ts +0 -24
  70. package/es/heatmap/models/heatmap.js +0 -399
  71. package/es/heatmap/models/heatmap.js.map +0 -1
  72. package/es/heatmap/models/hexagon.d.ts +0 -8
  73. package/es/heatmap/models/hexagon.js +0 -90
  74. package/es/heatmap/models/hexagon.js.map +0 -1
  75. package/es/heatmap/models/index.d.ts +0 -5
  76. package/es/heatmap/models/index.js +0 -13
  77. package/es/heatmap/models/index.js.map +0 -1
  78. package/es/heatmap/triangulation.d.ts +0 -5
  79. package/es/heatmap/triangulation.js +0 -38
  80. package/es/heatmap/triangulation.js.map +0 -1
  81. package/es/image/index.d.ts +0 -22
  82. package/es/image/index.js +0 -82
  83. package/es/image/index.js.map +0 -1
  84. package/es/image/models/image.d.ts +0 -18
  85. package/es/image/models/image.js +0 -127
  86. package/es/image/models/image.js.map +0 -1
  87. package/es/image/models/index.d.ts +0 -5
  88. package/es/image/models/index.js +0 -6
  89. package/es/image/models/index.js.map +0 -1
  90. package/es/index.d.ts +0 -11
  91. package/es/index.js +0 -39
  92. package/es/index.js.map +0 -1
  93. package/es/line/index.d.ts +0 -25
  94. package/es/line/index.js +0 -95
  95. package/es/line/index.js.map +0 -1
  96. package/es/line/models/arc.d.ts +0 -12
  97. package/es/line/models/arc.js +0 -281
  98. package/es/line/models/arc.js.map +0 -1
  99. package/es/line/models/arc_3d.d.ts +0 -12
  100. package/es/line/models/arc_3d.js +0 -277
  101. package/es/line/models/arc_3d.js.map +0 -1
  102. package/es/line/models/great_circle.d.ts +0 -12
  103. package/es/line/models/great_circle.js +0 -269
  104. package/es/line/models/great_circle.js.map +0 -1
  105. package/es/line/models/index.d.ts +0 -5
  106. package/es/line/models/index.js +0 -12
  107. package/es/line/models/index.js.map +0 -1
  108. package/es/line/models/line.d.ts +0 -13
  109. package/es/line/models/line.js +0 -342
  110. package/es/line/models/line.js.map +0 -1
  111. package/es/plugins/DataMappingPlugin.d.ts +0 -13
  112. package/es/plugins/DataMappingPlugin.js +0 -199
  113. package/es/plugins/DataMappingPlugin.js.map +0 -1
  114. package/es/plugins/DataSourcePlugin.d.ts +0 -7
  115. package/es/plugins/DataSourcePlugin.js +0 -73
  116. package/es/plugins/DataSourcePlugin.js.map +0 -1
  117. package/es/plugins/FeatureScalePlugin.d.ts +0 -26
  118. package/es/plugins/FeatureScalePlugin.js +0 -270
  119. package/es/plugins/FeatureScalePlugin.js.map +0 -1
  120. package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -7
  121. package/es/plugins/LayerAnimateStylePlugin.js +0 -50
  122. package/es/plugins/LayerAnimateStylePlugin.js.map +0 -1
  123. package/es/plugins/LayerModelPlugin.d.ts +0 -8
  124. package/es/plugins/LayerModelPlugin.js +0 -34
  125. package/es/plugins/LayerModelPlugin.js.map +0 -1
  126. package/es/plugins/LayerStylePlugin.d.ts +0 -8
  127. package/es/plugins/LayerStylePlugin.js +0 -35
  128. package/es/plugins/LayerStylePlugin.js.map +0 -1
  129. package/es/plugins/LightingPlugin.d.ts +0 -36
  130. package/es/plugins/LightingPlugin.js +0 -100
  131. package/es/plugins/LightingPlugin.js.map +0 -1
  132. package/es/plugins/MultiPassRendererPlugin.d.ts +0 -37
  133. package/es/plugins/MultiPassRendererPlugin.js +0 -79
  134. package/es/plugins/MultiPassRendererPlugin.js.map +0 -1
  135. package/es/plugins/PixelPickingPlugin.d.ts +0 -8
  136. package/es/plugins/PixelPickingPlugin.js +0 -112
  137. package/es/plugins/PixelPickingPlugin.js.map +0 -1
  138. package/es/plugins/RegisterStyleAttributePlugin.d.ts +0 -11
  139. package/es/plugins/RegisterStyleAttributePlugin.js +0 -98
  140. package/es/plugins/RegisterStyleAttributePlugin.js.map +0 -1
  141. package/es/plugins/ShaderUniformPlugin.d.ts +0 -16
  142. package/es/plugins/ShaderUniformPlugin.js +0 -78
  143. package/es/plugins/ShaderUniformPlugin.js.map +0 -1
  144. package/es/plugins/UpdateModelPlugin.d.ts +0 -8
  145. package/es/plugins/UpdateModelPlugin.js +0 -27
  146. package/es/plugins/UpdateModelPlugin.js.map +0 -1
  147. package/es/plugins/UpdateStyleAttributePlugin.d.ts +0 -12
  148. package/es/plugins/UpdateStyleAttributePlugin.js +0 -74
  149. package/es/plugins/UpdateStyleAttributePlugin.js.map +0 -1
  150. package/es/point/index.d.ts +0 -30
  151. package/es/point/index.js +0 -130
  152. package/es/point/index.js.map +0 -1
  153. package/es/point/models/extrude.d.ts +0 -14
  154. package/es/point/models/extrude.js +0 -180
  155. package/es/point/models/extrude.js.map +0 -1
  156. package/es/point/models/fill.d.ts +0 -17
  157. package/es/point/models/fill.js +0 -247
  158. package/es/point/models/fill.js.map +0 -1
  159. package/es/point/models/icon-font.d.ts +0 -11
  160. package/es/point/models/icon-font.js +0 -181
  161. package/es/point/models/icon-font.js.map +0 -1
  162. package/es/point/models/image.d.ts +0 -11
  163. package/es/point/models/image.js +0 -207
  164. package/es/point/models/image.js.map +0 -1
  165. package/es/point/models/index.d.ts +0 -5
  166. package/es/point/models/index.js +0 -16
  167. package/es/point/models/index.js.map +0 -1
  168. package/es/point/models/normal.d.ts +0 -21
  169. package/es/point/models/normal.js +0 -155
  170. package/es/point/models/normal.js.map +0 -1
  171. package/es/point/models/text.d.ts +0 -56
  172. package/es/point/models/text.js +0 -522
  173. package/es/point/models/text.js.map +0 -1
  174. package/es/point/shape/Path.d.ts +0 -40
  175. package/es/point/shape/Path.js +0 -57
  176. package/es/point/shape/Path.js.map +0 -1
  177. package/es/point/shape/extrude.d.ts +0 -15
  178. package/es/point/shape/extrude.js +0 -58
  179. package/es/point/shape/extrude.js.map +0 -1
  180. package/es/polygon/index.d.ts +0 -22
  181. package/es/polygon/index.js +0 -124
  182. package/es/polygon/index.js.map +0 -1
  183. package/es/polygon/models/extrude.d.ts +0 -13
  184. package/es/polygon/models/extrude.js +0 -139
  185. package/es/polygon/models/extrude.js.map +0 -1
  186. package/es/polygon/models/fill.d.ts +0 -13
  187. package/es/polygon/models/fill.js +0 -108
  188. package/es/polygon/models/fill.js.map +0 -1
  189. package/es/polygon/models/index.d.ts +0 -5
  190. package/es/polygon/models/index.js +0 -20
  191. package/es/polygon/models/index.js.map +0 -1
  192. package/es/raster/buffers/triangulation.d.ts +0 -6
  193. package/es/raster/buffers/triangulation.js +0 -28
  194. package/es/raster/buffers/triangulation.js.map +0 -1
  195. package/es/raster/image.d.ts +0 -0
  196. package/es/raster/image.js +0 -2
  197. package/es/raster/image.js.map +0 -1
  198. package/es/raster/index.d.ts +0 -28
  199. package/es/raster/index.js +0 -83
  200. package/es/raster/index.js.map +0 -1
  201. package/es/raster/models/index.d.ts +0 -5
  202. package/es/raster/models/index.js +0 -7
  203. package/es/raster/models/index.js.map +0 -1
  204. package/es/raster/models/raster.d.ts +0 -19
  205. package/es/raster/models/raster.js +0 -152
  206. package/es/raster/models/raster.js.map +0 -1
  207. package/es/raster/raster.d.ts +0 -30
  208. package/es/raster/raster.js +0 -178
  209. package/es/raster/raster.js.map +0 -1
  210. package/es/raster/raster2d.d.ts +0 -27
  211. package/es/raster/raster2d.js +0 -158
  212. package/es/raster/raster2d.js.map +0 -1
  213. package/es/utils/blend.d.ts +0 -2
  214. package/es/utils/blend.js +0 -55
  215. package/es/utils/blend.js.map +0 -1
  216. package/es/utils/collision-index.d.ts +0 -47
  217. package/es/utils/collision-index.js +0 -87
  218. package/es/utils/collision-index.js.map +0 -1
  219. package/es/utils/dataMappingStyle.d.ts +0 -30
  220. package/es/utils/dataMappingStyle.js +0 -88
  221. package/es/utils/dataMappingStyle.js.map +0 -1
  222. package/es/utils/extrude_polyline.d.ts +0 -48
  223. package/es/utils/extrude_polyline.js +0 -405
  224. package/es/utils/extrude_polyline.js.map +0 -1
  225. package/es/utils/geo.d.ts +0 -3
  226. package/es/utils/geo.js +0 -24
  227. package/es/utils/geo.js.map +0 -1
  228. package/es/utils/grid-index.d.ts +0 -28
  229. package/es/utils/grid-index.js +0 -193
  230. package/es/utils/grid-index.js.map +0 -1
  231. package/es/utils/polylineNormal.d.ts +0 -9
  232. package/es/utils/polylineNormal.js +0 -171
  233. package/es/utils/polylineNormal.js.map +0 -1
  234. package/es/utils/symbol-layout.d.ts +0 -43
  235. package/es/utils/symbol-layout.js +0 -260
  236. package/es/utils/symbol-layout.js.map +0 -1
@@ -1,328 +0,0 @@
1
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
- import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import { lngLatToMeters } from '@antv/l7-utils';
4
- import earcut from 'earcut';
5
- import { vec3 } from 'gl-matrix';
6
- import { EARTH_RADIUS, EARTH_RADIUS_OUTER, EARTH_SEGMENTS, lglt2xyz, primitiveSphere } from '../earth/utils';
7
- import ExtrudePolyline from '../utils/extrude_polyline';
8
- import { calculateCentroid } from '../utils/geo';
9
- import extrudePolygon, { extrude_PolygonNormal, fillPolygon } from './shape/extrude';
10
- import { geometryShape } from './shape/Path';
11
- var GeometryCache = {};
12
- export function PointFillTriangulation(feature) {
13
- var coordinates = calculateCentroid(feature.coordinates);
14
- return {
15
- vertices: [].concat(_toConsumableArray(coordinates), _toConsumableArray(coordinates), _toConsumableArray(coordinates), _toConsumableArray(coordinates)),
16
- indices: [0, 1, 2, 2, 3, 0],
17
- size: coordinates.length
18
- };
19
- }
20
- export function GlobelPointFillTriangulation(feature) {
21
- var coordinates = calculateCentroid(feature.coordinates);
22
- var xyz = lglt2xyz(coordinates);
23
- return {
24
- vertices: [].concat(_toConsumableArray(xyz), _toConsumableArray(xyz), _toConsumableArray(xyz), _toConsumableArray(xyz)),
25
- indices: [0, 1, 2, 2, 3, 0],
26
- size: xyz.length
27
- };
28
- }
29
- export function PointExtrudeTriangulation(feature) {
30
- var shape = feature.shape;
31
-
32
- var _getGeometry = getGeometry(shape, false),
33
- positions = _getGeometry.positions,
34
- index = _getGeometry.index,
35
- normals = _getGeometry.normals;
36
-
37
- return {
38
- vertices: positions,
39
- indices: index,
40
- normals: normals,
41
- size: 5
42
- };
43
- }
44
- export function PointImageTriangulation(feature) {
45
- var coordinates = calculateCentroid(feature.coordinates);
46
- return {
47
- vertices: _toConsumableArray(coordinates),
48
- indices: [0],
49
- size: coordinates.length
50
- };
51
- }
52
- export function LineTriangulation(feature) {
53
- var coordinates = feature.coordinates,
54
- originCoordinates = feature.originCoordinates,
55
- version = feature.version;
56
- var line = new ExtrudePolyline({
57
- dash: true,
58
- join: 'bevel'
59
- });
60
-
61
- if (version === 'GAODE2.x') {
62
- var path1 = coordinates;
63
-
64
- if (!Array.isArray(path1[0][0])) {
65
- path1 = [coordinates];
66
- }
67
-
68
- var path2 = originCoordinates;
69
-
70
- if (!Array.isArray(path2[0][0])) {
71
- path2 = [originCoordinates];
72
- }
73
-
74
- for (var i = 0; i < path1.length; i++) {
75
- var item1 = path1[i];
76
- var item2 = path2[i];
77
- line.extrude_gaode2(item1, item2);
78
- }
79
- } else {
80
- var path = coordinates;
81
-
82
- if (!Array.isArray(path[0][0])) {
83
- path = [coordinates];
84
- }
85
-
86
- path.forEach(function (item) {
87
- line.extrude(item);
88
- });
89
- }
90
-
91
- var linebuffer = line.complex;
92
- return {
93
- vertices: linebuffer.positions,
94
- indices: linebuffer.indices,
95
- normals: linebuffer.normals,
96
- size: 6
97
- };
98
- }
99
- export function polygonTriangulation(feature) {
100
- var coordinates = feature.coordinates;
101
- var flattengeo = earcut.flatten(coordinates);
102
- var vertices = flattengeo.vertices,
103
- dimensions = flattengeo.dimensions,
104
- holes = flattengeo.holes;
105
- return {
106
- indices: earcut(vertices, holes, dimensions),
107
- vertices: vertices,
108
- size: dimensions
109
- };
110
- }
111
- export function PolygonExtrudeTriangulation(feature) {
112
- var coordinates = feature.coordinates;
113
-
114
- var _extrude_PolygonNorma = extrude_PolygonNormal(coordinates, true),
115
- positions = _extrude_PolygonNorma.positions,
116
- index = _extrude_PolygonNorma.index,
117
- normals = _extrude_PolygonNorma.normals;
118
-
119
- return {
120
- vertices: positions,
121
- indices: index,
122
- normals: normals,
123
- size: 5
124
- };
125
- }
126
- export function HeatmapGridTriangulation(feature) {
127
- var shape = feature.shape;
128
-
129
- var _getHeatmapGeometry = getHeatmapGeometry(shape),
130
- positions = _getHeatmapGeometry.positions,
131
- index = _getHeatmapGeometry.index;
132
-
133
- return {
134
- vertices: positions,
135
- indices: index,
136
- size: 3
137
- };
138
- }
139
- export function RasterImageTriangulation(feature) {
140
- var coordinates = feature.coordinates;
141
- var positions = [].concat(_toConsumableArray(coordinates[0]), [0, 0, 1, coordinates[1][0], coordinates[0][1], 0, 1, 1], _toConsumableArray(coordinates[1]), [0, 1, 0], _toConsumableArray(coordinates[0]), [0, 0, 1], _toConsumableArray(coordinates[1]), [0, 1, 0, coordinates[0][0], coordinates[1][1], 0, 0, 0]);
142
- var indexs = [0, 1, 2, 3, 4, 5];
143
- return {
144
- vertices: positions,
145
- indices: indexs,
146
- size: 5
147
- };
148
- }
149
- export function LineArcTriangulation(feature, segmentNumber) {
150
- var segNum = segmentNumber ? segmentNumber : 30;
151
- var coordinates = feature.coordinates;
152
- var positions = [];
153
- var indexArray = [];
154
-
155
- var _loop = function _loop(i) {
156
- positions.push(i, 1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1], i, -1, i, coordinates[0][0], coordinates[0][1], coordinates[1][0], coordinates[1][1]);
157
-
158
- if (i !== segNum - 1) {
159
- indexArray.push.apply(indexArray, _toConsumableArray([0, 1, 2, 1, 3, 2].map(function (v) {
160
- return i * 2 + v;
161
- })));
162
- }
163
- };
164
-
165
- for (var i = 0; i < segNum; i++) {
166
- _loop(i);
167
- }
168
-
169
- return {
170
- vertices: positions,
171
- indices: indexArray,
172
- size: 7
173
- };
174
- }
175
- export function HeatmapTriangulation(feature) {
176
- var coordinates = feature.coordinates;
177
-
178
- if (coordinates.length === 2) {
179
- coordinates.push(0);
180
- }
181
-
182
- var size = feature.size;
183
- var dir = addDir(-1, 1);
184
- var dir1 = addDir(1, 1);
185
- var dir2 = addDir(-1, -1);
186
- var dir3 = addDir(1, -1);
187
- var positions = [].concat(_toConsumableArray(coordinates), _toConsumableArray(dir), _toConsumableArray(coordinates), _toConsumableArray(dir2), _toConsumableArray(coordinates), _toConsumableArray(dir3), _toConsumableArray(coordinates), _toConsumableArray(dir1));
188
- var indexArray = [0, 1, 2, 3, 0, 2];
189
- return {
190
- vertices: positions,
191
- indices: indexArray,
192
- size: 5
193
- };
194
- }
195
-
196
- function getGeometry(shape) {
197
- var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
198
-
199
- if (GeometryCache && GeometryCache[shape]) {
200
- return GeometryCache[shape];
201
- }
202
-
203
- var path = geometryShape[shape] ? geometryShape[shape]() : geometryShape.cylinder();
204
- var geometry = extrude_PolygonNormal([path], needFlat);
205
- GeometryCache[shape] = geometry;
206
- return geometry;
207
- }
208
-
209
- function computeVertexNormals(positions, indexArray) {
210
- var dim = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 3;
211
- var needFlat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
212
- var normals = new Float32Array(positions.length / dim * 3);
213
- var vA;
214
- var vB;
215
- var vC;
216
- var cb = vec3.create();
217
- var ab = vec3.create();
218
- var normal = vec3.create();
219
-
220
- for (var i = 0, li = indexArray.length; i < li; i += 3) {
221
- vA = indexArray[i + 0] * 3;
222
- vB = indexArray[i + 1] * 3;
223
- vC = indexArray[i + 2] * 3;
224
- var p1 = [positions[vA], positions[vA + 1]];
225
- var p2 = [positions[vB], positions[vB + 1]];
226
- var p3 = [positions[vC], positions[vC + 1]];
227
-
228
- if (needFlat) {
229
- p1 = lngLatToMeters(p1);
230
- p2 = lngLatToMeters(p2);
231
- p3 = lngLatToMeters(p3);
232
- }
233
-
234
- var _p = p1,
235
- _p2 = _slicedToArray(_p, 2),
236
- ax = _p2[0],
237
- ay = _p2[1];
238
-
239
- var pA = vec3.fromValues(ax, ay, positions[vA + 2]);
240
-
241
- var _p3 = p2,
242
- _p4 = _slicedToArray(_p3, 2),
243
- bx = _p4[0],
244
- by = _p4[1];
245
-
246
- var pB = vec3.fromValues(bx, by, positions[vB + 2]);
247
-
248
- var _p5 = p3,
249
- _p6 = _slicedToArray(_p5, 2),
250
- cx = _p6[0],
251
- cy = _p6[1];
252
-
253
- var pC = vec3.fromValues(cx, cy, positions[vC + 2]);
254
- vec3.sub(cb, pC, pB);
255
- vec3.sub(ab, pA, pB);
256
- vec3.cross(normal, cb, ab);
257
- normals[vA] += cb[0];
258
- normals[vA + 1] += cb[1];
259
- normals[vA + 2] += cb[2];
260
- normals[vB] += cb[0];
261
- normals[vB + 1] += cb[1];
262
- normals[vB + 2] += cb[2];
263
- normals[vC] += cb[0];
264
- normals[vC + 1] += cb[1];
265
- normals[vC + 2] += cb[2];
266
- }
267
-
268
- normalizeNormals(normals);
269
- return normals;
270
- }
271
-
272
- function normalizeNormals(normals) {
273
- for (var i = 0, li = normals.length; i < li; i += 3) {
274
- var normal = vec3.fromValues(normals[i], normals[i + 1], normals[i + 2]);
275
- var newNormal = vec3.create();
276
- vec3.normalize(newNormal, normal);
277
- normals.set(newNormal, i);
278
- }
279
- }
280
-
281
- function checkIsClosed(points) {
282
- var p1 = points[0][0];
283
- var p2 = points[0][points[0].length - 1];
284
- return p1[0] === p2[0] && p1[1] === p2[1];
285
- }
286
-
287
- function getHeatmapGeometry(shape) {
288
- var shape3d = ['cylinder', 'triangleColumn', 'hexagonColumn', 'squareColumn'];
289
- var path = geometryShape[shape] ? geometryShape[shape]() : geometryShape.circle();
290
- var geometry = shape3d.indexOf(shape) === -1 ? fillPolygon([path]) : extrudePolygon([path]);
291
- return geometry;
292
- }
293
-
294
- function addDir(dirX, dirY) {
295
- var x = (dirX + 1) / 2;
296
- var y = (dirY + 1) / 2;
297
- return [x, y];
298
- }
299
-
300
- export function earthTriangulation() {
301
- var earthmesh = primitiveSphere(EARTH_RADIUS, {
302
- segments: EARTH_SEGMENTS
303
- });
304
- var positionsArr = earthmesh.positionsArr,
305
- indicesArr = earthmesh.indicesArr,
306
- normalArr = earthmesh.normalArr;
307
- return {
308
- vertices: positionsArr,
309
- indices: indicesArr,
310
- size: 5,
311
- normals: normalArr
312
- };
313
- }
314
- export function earthOuterTriangulation() {
315
- var earthmesh = primitiveSphere(EARTH_RADIUS + EARTH_RADIUS_OUTER, {
316
- segments: EARTH_SEGMENTS
317
- });
318
- var positionsArr = earthmesh.positionsArr,
319
- indicesArr = earthmesh.indicesArr,
320
- normalArr = earthmesh.normalArr;
321
- return {
322
- vertices: positionsArr,
323
- indices: indicesArr,
324
- size: 5,
325
- normals: normalArr
326
- };
327
- }
328
- //# sourceMappingURL=triangulation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/core/triangulation.ts"],"names":["lngLatToMeters","earcut","vec3","EARTH_RADIUS","EARTH_RADIUS_OUTER","EARTH_SEGMENTS","lglt2xyz","primitiveSphere","ExtrudePolyline","calculateCentroid","extrudePolygon","extrude_PolygonNormal","fillPolygon","geometryShape","GeometryCache","PointFillTriangulation","feature","coordinates","vertices","indices","size","length","GlobelPointFillTriangulation","xyz","PointExtrudeTriangulation","shape","getGeometry","positions","index","normals","PointImageTriangulation","LineTriangulation","originCoordinates","version","line","dash","join","path1","Array","isArray","path2","i","item1","item2","extrude_gaode2","path","forEach","item","extrude","linebuffer","complex","polygonTriangulation","flattengeo","flatten","dimensions","holes","PolygonExtrudeTriangulation","HeatmapGridTriangulation","getHeatmapGeometry","RasterImageTriangulation","indexs","LineArcTriangulation","segmentNumber","segNum","indexArray","push","map","v","HeatmapTriangulation","dir","addDir","dir1","dir2","dir3","needFlat","cylinder","geometry","computeVertexNormals","dim","Float32Array","vA","vB","vC","cb","create","ab","normal","li","p1","p2","p3","ax","ay","pA","fromValues","bx","by","pB","cx","cy","pC","sub","cross","normalizeNormals","newNormal","normalize","set","checkIsClosed","points","shape3d","circle","indexOf","dirX","dirY","x","y","earthTriangulation","earthmesh","segments","positionsArr","indicesArr","normalArr","earthOuterTriangulation"],"mappings":"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","sourcesContent":["import { IEncodeFeature } from '@antv/l7-core';\nimport { aProjectFlat, lngLatToMeters } from '@antv/l7-utils';\nimport earcut from 'earcut';\n// @ts-ignore\nimport { mat4, vec3 } from 'gl-matrix';\nimport {\n EARTH_RADIUS,\n EARTH_RADIUS_OUTER,\n EARTH_SEGMENTS,\n lglt2xyz,\n primitiveSphere,\n} from '../earth/utils';\nimport ExtrudePolyline from '../utils/extrude_polyline';\nimport { calculateCentroid } from '../utils/geo';\nimport extrudePolygon, {\n extrude_PolygonNormal,\n fillPolygon,\n IExtrudeGeomety,\n} from './shape/extrude';\nimport {\n geometryShape,\n IPosition,\n ShapeType2D,\n ShapeType3D,\n} from './shape/Path';\ntype IShape = ShapeType2D & ShapeType3D;\ninterface IGeometryCache {\n [key: string]: IExtrudeGeomety;\n}\nconst GeometryCache: IGeometryCache = {};\n\n/**\n * 计算2D 填充点图顶点\n * @param feature 映射feature\n */\n\nexport function PointFillTriangulation(feature: IEncodeFeature) {\n const coordinates = calculateCentroid(feature.coordinates);\n return {\n vertices: [...coordinates, ...coordinates, ...coordinates, ...coordinates],\n indices: [0, 1, 2, 2, 3, 0],\n size: coordinates.length,\n };\n}\n/**\n * 计算2D 填充点图顶点 (地球模式)\n * @param feature 映射feature\n */\nexport function GlobelPointFillTriangulation(feature: IEncodeFeature) {\n const coordinates = calculateCentroid(feature.coordinates);\n const xyz = lglt2xyz(coordinates as [number, number]);\n return {\n vertices: [...xyz, ...xyz, ...xyz, ...xyz],\n indices: [0, 1, 2, 2, 3, 0],\n size: xyz.length,\n };\n}\n\n/**\n * 计算3D 拉伸点图\n * @param feature 映射feature\n */\nexport function PointExtrudeTriangulation(feature: IEncodeFeature) {\n const { shape } = feature;\n const { positions, index, normals } = getGeometry(\n shape as ShapeType3D,\n false,\n );\n return {\n vertices: positions,\n indices: index,\n normals,\n size: 5,\n };\n}\n\n/**\n * 计算图片标注\n * @param feature 映射feature\n */\nexport function PointImageTriangulation(feature: IEncodeFeature) {\n const coordinates = calculateCentroid(feature.coordinates);\n return {\n vertices: [...coordinates],\n indices: [0],\n size: coordinates.length,\n };\n}\n\n/**\n * 线三角化\n * @param feature 映射feature\n */\nexport function LineTriangulation(feature: IEncodeFeature) {\n const { coordinates, originCoordinates, version } = feature;\n // let path = coordinates as number[][][] | number[][];\n // if (!Array.isArray(path[0][0])) {\n // path = [coordinates] as number[][][];\n // }\n\n const line = new ExtrudePolyline({\n dash: true,\n join: 'bevel',\n });\n\n if (version === 'GAODE2.x') {\n // 处理高德2.0几何体构建\n let path1 = coordinates as number[][][] | number[][]; // 计算位置\n if (!Array.isArray(path1[0][0])) {\n path1 = [coordinates] as number[][][];\n }\n let path2 = originCoordinates as number[][][] | number[][]; // 计算法线\n if (!Array.isArray(path2[0][0])) {\n path2 = [originCoordinates] as number[][][];\n }\n\n for (let i = 0; i < path1.length; i++) {\n // 高德2.0在计算线时,需要使用经纬度计算发现,使用 customCoords.lnglatToCoords 计算的数据来计算顶点的位置\n const item1 = path1[i];\n const item2 = path2[i];\n line.extrude_gaode2(item1 as number[][], item2 as number[][]);\n }\n } else {\n // 处理非高德2.0的几何体构建\n let path = coordinates as number[][][] | number[][];\n if (!Array.isArray(path[0][0])) {\n path = [coordinates] as number[][][];\n }\n path.forEach((item: any) => {\n line.extrude(item as number[][]);\n });\n }\n\n const linebuffer = line.complex;\n return {\n vertices: linebuffer.positions, // [ x,y,z, distance, miter,total ]\n indices: linebuffer.indices,\n normals: linebuffer.normals,\n size: 6,\n };\n}\n\nexport function polygonTriangulation(feature: IEncodeFeature) {\n const { coordinates } = feature;\n const flattengeo = earcut.flatten(coordinates as number[][][]);\n const { vertices, dimensions, holes } = flattengeo;\n return {\n indices: earcut(vertices, holes, dimensions),\n vertices,\n size: dimensions,\n };\n}\n\nexport function PolygonExtrudeTriangulation(feature: IEncodeFeature) {\n const coordinates = feature.coordinates as IPosition[][];\n const { positions, index, normals } = extrude_PolygonNormal(\n coordinates,\n true,\n );\n return {\n vertices: positions, // [ x, y, z, uv.x,uv.y ]\n indices: index,\n normals,\n size: 5,\n };\n}\n\nexport function HeatmapGridTriangulation(feature: IEncodeFeature) {\n const { shape } = feature;\n const { positions, index } = getHeatmapGeometry(shape as IShape);\n return {\n vertices: positions, // [ x, y, z ] 多边形顶点\n indices: index,\n size: 3,\n };\n}\n\n/**\n * 图片图层顶点构造\n * @param feature 数据\n */\nexport function RasterImageTriangulation(feature: IEncodeFeature) {\n const coordinates = feature.coordinates as IPosition[];\n // [ x, y, z. uv.x, uv.y]\n const positions: number[] = [\n ...coordinates[0],\n 0,\n 0,\n 1,\n coordinates[1][0],\n coordinates[0][1],\n 0,\n 1,\n 1,\n ...coordinates[1],\n 0,\n 1,\n 0,\n ...coordinates[0],\n 0,\n 0,\n 1,\n ...coordinates[1],\n 0,\n 1,\n 0,\n coordinates[0][0],\n coordinates[1][1],\n 0,\n 0,\n 0,\n ];\n const indexs = [0, 1, 2, 3, 4, 5];\n return {\n vertices: positions,\n indices: indexs,\n size: 5,\n };\n}\n/**\n * 计算3D弧线顶点\n * @param feature 映射数据\n * @param segNum 弧线线段数\n */\nexport function LineArcTriangulation(\n feature: IEncodeFeature,\n segmentNumber?: number,\n) {\n const segNum = segmentNumber ? segmentNumber : 30;\n const coordinates = feature.coordinates as IPosition[];\n const positions = [];\n const indexArray = [];\n for (let i = 0; i < segNum; i++) {\n // 上线两个顶点\n // [ x, y, z, sx,sy, tx,ty]\n positions.push(\n i,\n 1,\n i,\n coordinates[0][0],\n coordinates[0][1],\n coordinates[1][0],\n coordinates[1][1],\n i,\n -1,\n i,\n coordinates[0][0],\n coordinates[0][1],\n coordinates[1][0],\n coordinates[1][1],\n );\n\n if (i !== segNum - 1) {\n indexArray.push(\n ...[0, 1, 2, 1, 3, 2].map((v) => {\n return i * 2 + v;\n }),\n );\n }\n }\n return {\n vertices: positions,\n indices: indexArray,\n size: 7,\n };\n}\n\n/**\n * 构建热力图密度图的顶点\n * @param feature\n * @returns\n */\nexport function HeatmapTriangulation(feature: IEncodeFeature) {\n const coordinates = feature.coordinates as number[];\n if (coordinates.length === 2) {\n coordinates.push(0);\n }\n const size = feature.size as number;\n const dir = addDir(-1, 1);\n const dir1 = addDir(1, 1);\n const dir2 = addDir(-1, -1);\n const dir3 = addDir(1, -1);\n // [x,y,z, dirx ,diry, weight]\n const positions = [\n ...coordinates,\n ...dir,\n ...coordinates,\n ...dir2,\n ...coordinates,\n ...dir3,\n ...coordinates,\n ...dir1,\n ];\n const indexArray = [0, 1, 2, 3, 0, 2];\n return {\n vertices: positions,\n indices: indexArray,\n size: 5,\n };\n}\n\n/**\n * 点图层3d geomerty\n * @param shape 3D形状\n */\nfunction getGeometry(shape: ShapeType3D, needFlat = false): IExtrudeGeomety {\n if (GeometryCache && GeometryCache[shape]) {\n return GeometryCache[shape];\n }\n const path = geometryShape[shape]\n ? geometryShape[shape]()\n : geometryShape.cylinder();\n const geometry = extrude_PolygonNormal([path], needFlat);\n GeometryCache[shape] = geometry;\n return geometry;\n}\n\nfunction computeVertexNormals(\n positions: number[],\n indexArray: number[],\n dim: number = 3,\n needFlat: boolean = false,\n) {\n const normals = new Float32Array((positions.length / dim) * 3);\n let vA: number;\n let vB: number;\n let vC: number;\n const cb = vec3.create();\n const ab = vec3.create();\n const normal = vec3.create();\n for (let i = 0, li = indexArray.length; i < li; i += 3) {\n vA = indexArray[i + 0] * 3;\n vB = indexArray[i + 1] * 3;\n vC = indexArray[i + 2] * 3;\n let p1 = [positions[vA], positions[vA + 1]];\n let p2 = [positions[vB], positions[vB + 1]];\n let p3 = [positions[vC], positions[vC + 1]];\n if (needFlat) {\n p1 = lngLatToMeters(p1);\n p2 = lngLatToMeters(p2);\n p3 = lngLatToMeters(p3);\n }\n const [ax, ay] = p1;\n const pA = vec3.fromValues(ax, ay, positions[vA + 2]);\n const [bx, by] = p2;\n const pB = vec3.fromValues(bx, by, positions[vB + 2]);\n const [cx, cy] = p3;\n const pC = vec3.fromValues(cx, cy, positions[vC + 2]);\n vec3.sub(cb, pC, pB);\n vec3.sub(ab, pA, pB);\n vec3.cross(normal, cb, ab);\n normals[vA] += cb[0];\n normals[vA + 1] += cb[1];\n normals[vA + 2] += cb[2];\n normals[vB] += cb[0];\n normals[vB + 1] += cb[1];\n normals[vB + 2] += cb[2];\n normals[vC] += cb[0];\n normals[vC + 1] += cb[1];\n normals[vC + 2] += cb[2];\n }\n normalizeNormals(normals);\n return normals;\n}\n\nfunction normalizeNormals(normals: Float32Array) {\n for (let i = 0, li = normals.length; i < li; i += 3) {\n const normal = vec3.fromValues(normals[i], normals[i + 1], normals[i + 2]);\n const newNormal = vec3.create();\n vec3.normalize(newNormal, normal);\n normals.set(newNormal, i);\n }\n}\n\nfunction checkIsClosed(points: number[][][]) {\n const p1 = points[0][0];\n const p2 = points[0][points[0].length - 1];\n return p1[0] === p2[0] && p1[1] === p2[1];\n}\n\nfunction getHeatmapGeometry(shape: ShapeType2D | ShapeType3D): IExtrudeGeomety {\n const shape3d = [\n 'cylinder',\n 'triangleColumn',\n 'hexagonColumn',\n 'squareColumn',\n ];\n const path = geometryShape[shape]\n ? geometryShape[shape]()\n : geometryShape.circle();\n const geometry =\n shape3d.indexOf(shape) === -1\n ? fillPolygon([path])\n : extrudePolygon([path]);\n // const geometry = fillPolygon([path]);\n return geometry;\n}\n// 热力图计算范围\nfunction addDir(dirX: number, dirY: number) {\n const x = (dirX + 1) / 2;\n const y = (dirY + 1) / 2;\n return [x, y];\n}\n\n/**\n * 构建地球三角网格\n * @returns\n */\nexport function earthTriangulation() {\n const earthmesh = primitiveSphere(EARTH_RADIUS, { segments: EARTH_SEGMENTS });\n const { positionsArr, indicesArr, normalArr } = earthmesh;\n return {\n vertices: positionsArr,\n indices: indicesArr,\n size: 5,\n normals: normalArr,\n };\n}\n\nexport function earthOuterTriangulation() {\n const earthmesh = primitiveSphere(EARTH_RADIUS + EARTH_RADIUS_OUTER, {\n segments: EARTH_SEGMENTS,\n });\n const { positionsArr, indicesArr, normalArr } = earthmesh;\n return {\n vertices: positionsArr,\n indices: indicesArr,\n size: 5,\n normals: normalArr,\n };\n}\n"],"file":"triangulation.js"}
@@ -1,17 +0,0 @@
1
- import BaseLayer from '../core/BaseLayer';
2
- interface IEarthLayerStyleOptions {
3
- opacity: number;
4
- setEarthTime(time: number): void;
5
- }
6
- export declare type EarthModelType = 'base' | 'atomSphere' | 'bloomSphere';
7
- export default class EarthLayer extends BaseLayer<IEarthLayerStyleOptions> {
8
- type: string;
9
- buildModels(): void;
10
- /**
11
- * 设置当前地球时间
12
- * @param time
13
- */
14
- setEarthTime(time: number): void;
15
- protected getModelType(): EarthModelType;
16
- }
17
- export {};
package/es/earth/index.js DELETED
@@ -1,81 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
-
9
- 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); }; }
10
-
11
- 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; } }
12
-
13
- import BaseLayer from '../core/BaseLayer';
14
- import EarthAtomSphereModel from './models/atmosphere';
15
- import BaseEarthModel from './models/base';
16
- import EarthBloomSphereModel from './models/bloomsphere';
17
- var EarthModels = {
18
- base: BaseEarthModel,
19
- atomSphere: EarthAtomSphereModel,
20
- bloomSphere: EarthBloomSphereModel
21
- };
22
- var earthLayerTypes = ['base', 'atomSphere', 'bloomSphere'];
23
-
24
- var EarthLayer = function (_BaseLayer) {
25
- _inherits(EarthLayer, _BaseLayer);
26
-
27
- var _super = _createSuper(EarthLayer);
28
-
29
- function EarthLayer() {
30
- var _this;
31
-
32
- _classCallCheck(this, EarthLayer);
33
-
34
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35
- args[_key] = arguments[_key];
36
- }
37
-
38
- _this = _super.call.apply(_super, [this].concat(args));
39
-
40
- _defineProperty(_assertThisInitialized(_this), "type", 'EarthLayer');
41
-
42
- return _this;
43
- }
44
-
45
- _createClass(EarthLayer, [{
46
- key: "buildModels",
47
- value: function buildModels() {
48
- var shape = this.getModelType();
49
- this.layerModel = new EarthModels[shape](this);
50
- this.models = this.layerModel.initModels();
51
- }
52
- }, {
53
- key: "setEarthTime",
54
- value: function setEarthTime(time) {
55
- if (this.layerModel && this.layerModel.setEarthTime) {
56
- this.layerModel.setEarthTime(time);
57
- } else {
58
- console.error('请在 scene loaded 之后执行该方法!');
59
- }
60
- }
61
- }, {
62
- key: "getModelType",
63
- value: function getModelType() {
64
- var _shapeAttribute$scale;
65
-
66
- var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
67
- var shape = (shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field) || 'base';
68
-
69
- if (earthLayerTypes.indexOf(shape) < 0) {
70
- shape = 'base';
71
- }
72
-
73
- return shape;
74
- }
75
- }]);
76
-
77
- return EarthLayer;
78
- }(BaseLayer);
79
-
80
- export { EarthLayer as default };
81
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/earth/index.ts"],"names":["BaseLayer","EarthAtomSphereModel","BaseEarthModel","EarthBloomSphereModel","EarthModels","base","atomSphere","bloomSphere","earthLayerTypes","EarthLayer","shape","getModelType","layerModel","models","initModels","time","setEarthTime","console","error","shapeAttribute","styleAttributeService","getLayerStyleAttribute","scale","field","indexOf"],"mappings":";;;;;;;;;;;;AAAA,OAAOA,SAAP,MAAsB,mBAAtB;AACA,OAAOC,oBAAP,MAAiC,qBAAjC;AACA,OAAOC,cAAP,MAA2B,eAA3B;AACA,OAAOC,qBAAP,MAAkC,sBAAlC;AASA,IAAMC,WAA6C,GAAG;AACpDC,EAAAA,IAAI,EAAEH,cAD8C;AAEpDI,EAAAA,UAAU,EAAEL,oBAFwC;AAGpDM,EAAAA,WAAW,EAAEJ;AAHuC,CAAtD;AAMA,IAAMK,eAAe,GAAG,CAAC,MAAD,EAAS,YAAT,EAAuB,aAAvB,CAAxB;;IAEqBC,U;;;;;;;;;;;;;;;;2DACG,Y;;;;;;;WAEtB,uBAAqB;AACnB,UAAMC,KAAK,GAAG,KAAKC,YAAL,EAAd;AACA,WAAKC,UAAL,GAAkB,IAAIR,WAAW,CAACM,KAAD,CAAf,CAAuB,IAAvB,CAAlB;AACA,WAAKG,MAAL,GAAc,KAAKD,UAAL,CAAgBE,UAAhB,EAAd;AACD;;;WAMD,sBAAoBC,IAApB,EAAkC;AAChC,UAAI,KAAKH,UAAL,IAAmB,KAAKA,UAAL,CAAgBI,YAAvC,EAAqD;AACnD,aAAKJ,UAAL,CAAgBI,YAAhB,CAA6BD,IAA7B;AACD,OAFD,MAEO;AACLE,QAAAA,OAAO,CAACC,KAAR,CAAc,0BAAd;AACD;AACF;;;WAED,wBAAyC;AAAA;;AACvC,UAAMC,cAAc,GAAG,KAAKC,qBAAL,CAA2BC,sBAA3B,CACrB,OADqB,CAAvB;AAGA,UAAIX,KAAK,GAAI,CAAAS,cAAc,SAAd,IAAAA,cAAc,WAAd,qCAAAA,cAAc,CAAEG,KAAhB,gFAAuBC,KAAvB,KAAgC,MAA7C;;AACA,UAAIf,eAAe,CAACgB,OAAhB,CAAwBd,KAAxB,IAAiC,CAArC,EAAwC;AACtCA,QAAAA,KAAK,GAAG,MAAR;AACD;;AACD,aAAOA,KAAP;AACD;;;;EA9BqCV,S;;SAAnBS,U","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport EarthAtomSphereModel from './models/atmosphere';\nimport BaseEarthModel from './models/base';\nimport EarthBloomSphereModel from './models/bloomsphere';\n\ninterface IEarthLayerStyleOptions {\n opacity: number;\n setEarthTime(time: number): void;\n}\n\nexport type EarthModelType = 'base' | 'atomSphere' | 'bloomSphere';\n\nconst EarthModels: { [key in EarthModelType]: any } = {\n base: BaseEarthModel,\n atomSphere: EarthAtomSphereModel,\n bloomSphere: EarthBloomSphereModel,\n};\n\nconst earthLayerTypes = ['base', 'atomSphere', 'bloomSphere'];\n\nexport default class EarthLayer extends BaseLayer<IEarthLayerStyleOptions> {\n public type: string = 'EarthLayer';\n\n public buildModels() {\n const shape = this.getModelType();\n this.layerModel = new EarthModels[shape](this);\n this.models = this.layerModel.initModels();\n }\n\n /**\n * 设置当前地球时间\n * @param time\n */\n public setEarthTime(time: number) {\n if (this.layerModel && this.layerModel.setEarthTime) {\n this.layerModel.setEarthTime(time);\n } else {\n console.error('请在 scene loaded 之后执行该方法!');\n }\n }\n\n protected getModelType(): EarthModelType {\n const shapeAttribute = this.styleAttributeService.getLayerStyleAttribute(\n 'shape',\n );\n let shape = (shapeAttribute?.scale?.field || 'base') as string;\n if (earthLayerTypes.indexOf(shape) < 0) {\n shape = 'base';\n }\n return shape as EarthModelType;\n }\n}\n"],"file":"index.js"}
@@ -1,9 +0,0 @@
1
- import { IModel, IModelUniform } from '@antv/l7-core';
2
- import BaseModel from '../../core/BaseModel';
3
- export default class EarthAtomSphereModel extends BaseModel {
4
- getUninforms(): IModelUniform;
5
- initModels(): IModel[];
6
- clearModels(): string;
7
- buildModels(): IModel[];
8
- protected registerBuiltinAttributes(): void;
9
- }
@@ -1,124 +0,0 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _inherits from "@babel/runtime/helpers/inherits";
4
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
5
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
- import _isNumber from "lodash/isNumber";
7
-
8
- 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); }; }
9
-
10
- 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; } }
11
-
12
- import { AttributeType, gl } from '@antv/l7-core';
13
- import BaseModel from '../../core/BaseModel';
14
- import { earthTriangulation } from '../../core/triangulation';
15
- var atmoSphereFrag = "\nuniform float u_opacity;\nuniform vec3 u_CameraPosition;\n\nvarying vec3 vVertexNormal;\nvarying float v_offset;\nvarying vec4 v_Color;\nvoid main() {\n \n \n // float intensity = pow(0.5 + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n float intensity = pow(v_offset + dot(normalize(vVertexNormal), normalize(u_CameraPosition)), 3.0);\n // TODO: \u53BB\u9664\u80CC\u9762\n if(intensity > 1.0) intensity = 0.0;\n\n gl_FragColor = vec4(v_Color.rgb, v_Color.a * intensity * u_opacity);\n}\n";
16
- var atmoSphereVert = "\nattribute vec3 a_Position;\nattribute vec3 a_Normal;\nattribute vec2 a_Uv;\nattribute vec4 a_Color;\nuniform vec3 u_CameraPosition;\nvarying float v_CamreaDistance;\n\nuniform mat4 u_ViewProjectionMatrix;\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_ViewMatrix;\n\nvarying vec3 vVertexNormal;\nvarying vec4 v_Color;\nvarying float v_offset;\n\nvoid main() {\n float EARTH_RADIUS = 100.0;\n \n v_Color = a_Color;\n\n v_offset = min(((length(u_CameraPosition) - EARTH_RADIUS)/600.0) * 0.5 + 0.4, 1.0);\n vVertexNormal = a_Normal;\n\n gl_Position = u_ViewProjectionMatrix * u_ModelMatrix * vec4(a_Position, 1.0);\n}\n";
17
-
18
- var EarthAtomSphereModel = function (_BaseModel) {
19
- _inherits(EarthAtomSphereModel, _BaseModel);
20
-
21
- var _super = _createSuper(EarthAtomSphereModel);
22
-
23
- function EarthAtomSphereModel() {
24
- _classCallCheck(this, EarthAtomSphereModel);
25
-
26
- return _super.apply(this, arguments);
27
- }
28
-
29
- _createClass(EarthAtomSphereModel, [{
30
- key: "getUninforms",
31
- value: function getUninforms() {
32
- var _ref = this.layer.getLayerConfig(),
33
- _ref$opacity = _ref.opacity,
34
- opacity = _ref$opacity === void 0 ? 1 : _ref$opacity;
35
-
36
- return {
37
- u_opacity: _isNumber(opacity) ? opacity : 1.0
38
- };
39
- }
40
- }, {
41
- key: "initModels",
42
- value: function initModels() {
43
- return this.buildModels();
44
- }
45
- }, {
46
- key: "clearModels",
47
- value: function clearModels() {
48
- return '';
49
- }
50
- }, {
51
- key: "buildModels",
52
- value: function buildModels() {
53
- return [this.layer.buildLayerModel({
54
- moduleName: 'earthAtmoSphere',
55
- vertexShader: atmoSphereVert,
56
- fragmentShader: atmoSphereFrag,
57
- triangulation: earthTriangulation,
58
- depth: {
59
- enable: false
60
- },
61
- blend: this.getBlend()
62
- })];
63
- }
64
- }, {
65
- key: "registerBuiltinAttributes",
66
- value: function registerBuiltinAttributes() {
67
- this.styleAttributeService.registerStyleAttribute({
68
- name: 'size',
69
- type: AttributeType.Attribute,
70
- descriptor: {
71
- name: 'a_Size',
72
- buffer: {
73
- usage: gl.DYNAMIC_DRAW,
74
- data: [],
75
- type: gl.FLOAT
76
- },
77
- size: 1,
78
- update: function update(feature, featureIdx, vertex, attributeIdx) {
79
- var _feature$size = feature.size,
80
- size = _feature$size === void 0 ? 1 : _feature$size;
81
- return Array.isArray(size) ? [size[0]] : [size];
82
- }
83
- }
84
- });
85
- this.styleAttributeService.registerStyleAttribute({
86
- name: 'normal',
87
- type: AttributeType.Attribute,
88
- descriptor: {
89
- name: 'a_Normal',
90
- buffer: {
91
- usage: gl.STATIC_DRAW,
92
- data: [],
93
- type: gl.FLOAT
94
- },
95
- size: 3,
96
- update: function update(feature, featureIdx, vertex, attributeIdx, normal) {
97
- return normal;
98
- }
99
- }
100
- });
101
- this.styleAttributeService.registerStyleAttribute({
102
- name: 'uv',
103
- type: AttributeType.Attribute,
104
- descriptor: {
105
- name: 'a_Uv',
106
- buffer: {
107
- usage: gl.DYNAMIC_DRAW,
108
- data: [],
109
- type: gl.FLOAT
110
- },
111
- size: 2,
112
- update: function update(feature, featureIdx, vertex, attributeIdx) {
113
- return [vertex[3], vertex[4]];
114
- }
115
- }
116
- });
117
- }
118
- }]);
119
-
120
- return EarthAtomSphereModel;
121
- }(BaseModel);
122
-
123
- export { EarthAtomSphereModel as default };
124
- //# sourceMappingURL=atmosphere.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/earth/models/atmosphere.ts"],"names":["AttributeType","gl","BaseModel","earthTriangulation","EarthAtomSphereModel","layer","getLayerConfig","opacity","u_opacity","buildModels","buildLayerModel","moduleName","vertexShader","atmoSphereVert","fragmentShader","atmoSphereFrag","triangulation","depth","enable","blend","getBlend","styleAttributeService","registerStyleAttribute","name","type","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","data","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","Array","isArray","STATIC_DRAW","normal"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n} from '@antv/l7-core';\nimport { isNumber } from 'lodash';\n\nimport BaseModel from '../../core/BaseModel';\nimport { earthTriangulation } from '../../core/triangulation';\nimport atmoSphereFrag from '../shaders/atmosphere_frag.glsl';\nimport atmoSphereVert from '../shaders/atmosphere_vert.glsl';\ninterface IAtmoLayerStyleOptions {\n opacity: number;\n}\n\nexport default class EarthAtomSphereModel extends BaseModel {\n public getUninforms(): IModelUniform {\n const {\n opacity = 1,\n } = this.layer.getLayerConfig() as IAtmoLayerStyleOptions;\n return {\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n };\n }\n\n public initModels(): IModel[] {\n return this.buildModels();\n }\n\n public clearModels() {\n return '';\n }\n\n public buildModels(): IModel[] {\n return [\n this.layer.buildLayerModel({\n moduleName: 'earthAtmoSphere',\n vertexShader: atmoSphereVert,\n fragmentShader: atmoSphereFrag,\n triangulation: earthTriangulation,\n depth: {\n enable: false,\n },\n blend: this.getBlend(),\n }),\n ];\n }\n\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'size',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Size',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 1,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size = 1 } = feature;\n return Array.isArray(size) ? [size[0]] : [size as number];\n },\n },\n });\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'normal',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Normal',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.STATIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 3,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n normal: number[],\n ) => {\n return normal;\n },\n },\n });\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'uv',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Uv',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n }\n}\n"],"file":"atmosphere.js"}
@@ -1,16 +0,0 @@
1
- import { IModel, IModelUniform, ITexture2D } from '@antv/l7-core';
2
- import BaseModel from '../../core/BaseModel';
3
- export default class BaseEarthModel extends BaseModel {
4
- protected texture: ITexture2D;
5
- private earthTime;
6
- private sunX;
7
- private sunY;
8
- private sunZ;
9
- private sunRadius;
10
- getUninforms(): IModelUniform;
11
- setEarthTime(time: number): void;
12
- initModels(): IModel[];
13
- clearModels(): string;
14
- buildModels(): IModel[];
15
- protected registerBuiltinAttributes(): void;
16
- }