@antv/l7-layers 2.9.25-alpha.0 → 2.9.25
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.
- package/es/heatmap/models/heatmap.js +1 -1
- package/es/tile/utils.js +1 -1
- package/lib/Geometry/index.js +114 -77
- package/lib/Geometry/models/billboard.js +232 -181
- package/lib/Geometry/models/index.js +18 -34
- package/lib/Geometry/models/plane.js +407 -278
- package/lib/Geometry/models/sprite.js +291 -189
- package/lib/canvas/index.js +101 -66
- package/lib/canvas/models/canvas.js +207 -140
- package/lib/canvas/models/index.js +12 -30
- package/lib/citybuliding/building.js +98 -63
- package/lib/citybuliding/models/build.js +192 -146
- package/lib/core/BaseLayer.js +1331 -814
- package/lib/core/BaseModel.js +457 -279
- package/lib/core/interface.js +40 -53
- package/lib/core/schema.js +21 -39
- package/lib/core/shape/Path.js +67 -79
- package/lib/core/shape/extrude.js +132 -91
- package/lib/core/triangulation.js +378 -196
- package/lib/earth/index.js +100 -62
- package/lib/earth/models/atmosphere.js +146 -112
- package/lib/earth/models/base.js +210 -150
- package/lib/earth/models/bloomsphere.js +146 -112
- package/lib/earth/utils.js +111 -91
- package/lib/heatmap/index.js +149 -92
- package/lib/heatmap/models/grid.js +118 -91
- package/lib/heatmap/models/grid3d.js +155 -123
- package/lib/heatmap/models/heatmap.js +475 -338
- package/lib/heatmap/models/hexagon.js +121 -92
- package/lib/heatmap/models/index.js +22 -37
- package/lib/heatmap/triangulation.js +31 -47
- package/lib/image/index.js +111 -74
- package/lib/image/models/dataImage.js +232 -174
- package/lib/image/models/image.js +175 -128
- package/lib/image/models/index.js +15 -32
- package/lib/index.js +263 -97
- package/lib/line/index.js +131 -85
- package/lib/line/models/arc.js +352 -237
- package/lib/line/models/arc_3d.js +334 -228
- package/lib/line/models/earthArc_3d.js +336 -228
- package/lib/line/models/great_circle.js +291 -200
- package/lib/line/models/half.js +286 -201
- package/lib/line/models/index.js +42 -50
- package/lib/line/models/line.js +428 -299
- package/lib/line/models/linearline.js +277 -203
- package/lib/line/models/simpleLine.js +239 -175
- package/lib/line/models/tile.js +348 -237
- package/lib/line/models/wall.js +327 -235
- package/lib/mask/index.js +92 -59
- package/lib/mask/models/fill.js +134 -82
- package/lib/mask/models/index.js +12 -30
- package/lib/plugins/DataMappingPlugin.js +342 -224
- package/lib/plugins/DataSourcePlugin.js +102 -87
- package/lib/plugins/FeatureScalePlugin.js +330 -240
- package/lib/plugins/LayerAnimateStylePlugin.js +61 -55
- package/lib/plugins/LayerModelPlugin.js +80 -73
- package/lib/plugins/LayerStylePlugin.js +48 -51
- package/lib/plugins/LightingPlugin.js +80 -68
- package/lib/plugins/MultiPassRendererPlugin.js +91 -65
- package/lib/plugins/PixelPickingPlugin.js +150 -109
- package/lib/plugins/RegisterStyleAttributePlugin.js +110 -110
- package/lib/plugins/ShaderUniformPlugin.js +118 -99
- package/lib/plugins/UpdateModelPlugin.js +40 -47
- package/lib/plugins/UpdateStyleAttributePlugin.js +93 -75
- package/lib/point/index.js +226 -150
- package/lib/point/models/earthExtrude.js +279 -201
- package/lib/point/models/earthFill.js +287 -202
- package/lib/point/models/extrude.js +299 -203
- package/lib/point/models/fill.js +406 -275
- package/lib/point/models/fillmage.js +365 -256
- package/lib/point/models/image.js +241 -168
- package/lib/point/models/index.js +46 -52
- package/lib/point/models/normal.js +183 -134
- package/lib/point/models/radar.js +304 -211
- package/lib/point/models/simplePoint.js +194 -142
- package/lib/point/models/text.js +608 -385
- package/lib/point/models/tile.js +314 -223
- package/lib/point/shape/extrude.js +56 -52
- package/lib/polygon/index.js +154 -102
- package/lib/polygon/models/extrude.js +311 -223
- package/lib/polygon/models/fill.js +215 -153
- package/lib/polygon/models/index.js +46 -52
- package/lib/polygon/models/ocean.js +244 -173
- package/lib/polygon/models/tile.js +144 -100
- package/lib/polygon/models/water.js +222 -153
- package/lib/raster/buffers/triangulation.js +27 -40
- package/lib/raster/index.js +115 -75
- package/lib/raster/models/index.js +16 -33
- package/lib/raster/models/raster.js +178 -135
- package/lib/raster/raster.js +187 -132
- package/lib/tile/interface.js +4 -16
- package/lib/tile/manager/tileConfigManager.js +125 -86
- package/lib/tile/manager/tileLayerManager.js +313 -229
- package/lib/tile/manager/tilePickerManager.js +192 -123
- package/lib/tile/models/tileModel.js +71 -52
- package/lib/tile/tileFactory/base.js +432 -309
- package/lib/tile/tileFactory/index.js +51 -49
- package/lib/tile/tileFactory/line.js +65 -50
- package/lib/tile/tileFactory/point.js +65 -50
- package/lib/tile/tileFactory/polygon.js +65 -50
- package/lib/tile/tileFactory/raster.js +66 -54
- package/lib/tile/tileFactory/rasterData.js +88 -76
- package/lib/tile/tileFactory/rasterDataLayer.js +97 -62
- package/lib/tile/tileFactory/vectorLayer.js +168 -109
- package/lib/tile/tileLayer/baseTileLayer.js +420 -221
- package/lib/tile/tmsTileLayer.js +110 -67
- package/lib/tile/utils.js +110 -92
- package/lib/utils/blend.js +59 -79
- package/lib/utils/collision-index.js +107 -64
- package/lib/utils/dataMappingStyle.js +105 -60
- package/lib/utils/extrude_polyline.js +600 -398
- package/lib/utils/grid-index.js +163 -111
- package/lib/utils/layerData.js +130 -99
- package/lib/utils/multiPassRender.js +49 -41
- package/lib/utils/polylineNormal.js +148 -96
- package/lib/utils/simpleLine.js +100 -85
- package/lib/utils/symbol-layout.js +219 -116
- package/lib/utils/updateShape.js +15 -41
- package/lib/wind/index.js +109 -71
- package/lib/wind/models/index.js +12 -30
- package/lib/wind/models/utils.js +144 -105
- package/lib/wind/models/wind.js +333 -224
- package/lib/wind/models/windRender.js +329 -218
- package/lib/wind/models/windShader.js +23 -181
- package/package.json +6 -6
package/lib/core/interface.js
CHANGED
|
@@ -1,54 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
|
|
19
|
-
// src/core/interface.ts
|
|
20
|
-
var interface_exports = {};
|
|
21
|
-
__export(interface_exports, {
|
|
22
|
-
CanvasUpdateType: () => CanvasUpdateType,
|
|
23
|
-
LinearDir: () => LinearDir,
|
|
24
|
-
TextureBlend: () => TextureBlend,
|
|
25
|
-
lineStyleType: () => lineStyleType
|
|
26
|
-
});
|
|
27
|
-
module.exports = __toCommonJS(interface_exports);
|
|
28
|
-
var lineStyleType = /* @__PURE__ */ ((lineStyleType2) => {
|
|
29
|
-
lineStyleType2[lineStyleType2["solid"] = 0] = "solid";
|
|
30
|
-
lineStyleType2[lineStyleType2["dash"] = 1] = "dash";
|
|
31
|
-
return lineStyleType2;
|
|
32
|
-
})(lineStyleType || {});
|
|
33
|
-
var LinearDir = /* @__PURE__ */ ((LinearDir2) => {
|
|
34
|
-
LinearDir2["VERTICAL"] = "vertical";
|
|
35
|
-
LinearDir2["HORIZONTAL"] = "horizontal";
|
|
36
|
-
return LinearDir2;
|
|
37
|
-
})(LinearDir || {});
|
|
38
|
-
var TextureBlend = /* @__PURE__ */ ((TextureBlend2) => {
|
|
39
|
-
TextureBlend2["NORMAL"] = "normal";
|
|
40
|
-
TextureBlend2["REPLACE"] = "replace";
|
|
41
|
-
return TextureBlend2;
|
|
42
|
-
})(TextureBlend || {});
|
|
43
|
-
var CanvasUpdateType = /* @__PURE__ */ ((CanvasUpdateType2) => {
|
|
44
|
-
CanvasUpdateType2["ALWAYS"] = "always";
|
|
45
|
-
CanvasUpdateType2["DRAGEND"] = "dragend";
|
|
46
|
-
return CanvasUpdateType2;
|
|
47
|
-
})(CanvasUpdateType || {});
|
|
48
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
-
0 && (module.exports = {
|
|
50
|
-
CanvasUpdateType,
|
|
51
|
-
LinearDir,
|
|
52
|
-
TextureBlend,
|
|
53
|
-
lineStyleType
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
54
5
|
});
|
|
6
|
+
exports.lineStyleType = exports.TextureBlend = exports.LinearDir = exports.CanvasUpdateType = void 0;
|
|
7
|
+
var lineStyleType;
|
|
8
|
+
exports.lineStyleType = lineStyleType;
|
|
9
|
+
|
|
10
|
+
(function (lineStyleType) {
|
|
11
|
+
lineStyleType[lineStyleType["solid"] = 0] = "solid";
|
|
12
|
+
lineStyleType[lineStyleType["dash"] = 1] = "dash";
|
|
13
|
+
})(lineStyleType || (exports.lineStyleType = lineStyleType = {}));
|
|
14
|
+
|
|
15
|
+
var LinearDir;
|
|
16
|
+
exports.LinearDir = LinearDir;
|
|
17
|
+
|
|
18
|
+
(function (LinearDir) {
|
|
19
|
+
LinearDir["VERTICAL"] = "vertical";
|
|
20
|
+
LinearDir["HORIZONTAL"] = "horizontal";
|
|
21
|
+
})(LinearDir || (exports.LinearDir = LinearDir = {}));
|
|
22
|
+
|
|
23
|
+
var TextureBlend;
|
|
24
|
+
/**
|
|
25
|
+
* 基础图层类型定义
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
exports.TextureBlend = TextureBlend;
|
|
29
|
+
|
|
30
|
+
(function (TextureBlend) {
|
|
31
|
+
TextureBlend["NORMAL"] = "normal";
|
|
32
|
+
TextureBlend["REPLACE"] = "replace";
|
|
33
|
+
})(TextureBlend || (exports.TextureBlend = TextureBlend = {}));
|
|
34
|
+
|
|
35
|
+
var CanvasUpdateType;
|
|
36
|
+
exports.CanvasUpdateType = CanvasUpdateType;
|
|
37
|
+
|
|
38
|
+
(function (CanvasUpdateType) {
|
|
39
|
+
CanvasUpdateType["ALWAYS"] = "always";
|
|
40
|
+
CanvasUpdateType["DRAGEND"] = "dragend";
|
|
41
|
+
})(CanvasUpdateType || (exports.CanvasUpdateType = CanvasUpdateType = {}));
|
package/lib/core/schema.js
CHANGED
|
@@ -1,51 +1,33 @@
|
|
|
1
|
-
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __export = (target, all) => {
|
|
6
|
-
for (var name in all)
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
1
|
+
"use strict";
|
|
18
2
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
__export(schema_exports, {
|
|
22
|
-
default: () => schema_default
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
23
5
|
});
|
|
24
|
-
|
|
25
|
-
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* BaseLayer Schema
|
|
10
|
+
*/
|
|
11
|
+
var _default = {
|
|
26
12
|
properties: {
|
|
27
13
|
enablePicking: {
|
|
28
|
-
type:
|
|
14
|
+
type: 'boolean'
|
|
29
15
|
},
|
|
30
16
|
enableHighlight: {
|
|
31
|
-
type:
|
|
17
|
+
type: 'boolean'
|
|
32
18
|
},
|
|
33
19
|
highlightColor: {
|
|
34
|
-
oneOf: [
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
maximum: 1
|
|
41
|
-
}
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
type: "string"
|
|
20
|
+
oneOf: [{
|
|
21
|
+
type: 'array',
|
|
22
|
+
items: {
|
|
23
|
+
type: 'number',
|
|
24
|
+
minimum: 0,
|
|
25
|
+
maximum: 1
|
|
45
26
|
}
|
|
46
|
-
|
|
27
|
+
}, {
|
|
28
|
+
type: 'string'
|
|
29
|
+
}]
|
|
47
30
|
}
|
|
48
31
|
}
|
|
49
32
|
};
|
|
50
|
-
|
|
51
|
-
0 && (module.exports = {});
|
|
33
|
+
exports.default = _default;
|
package/lib/core/shape/Path.js
CHANGED
|
@@ -1,100 +1,88 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
-
};
|
|
9
|
-
var __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
|
|
19
|
-
// src/core/shape/Path.ts
|
|
20
|
-
var Path_exports = {};
|
|
21
|
-
__export(Path_exports, {
|
|
22
|
-
ShapeType2D: () => ShapeType2D,
|
|
23
|
-
ShapeType3D: () => ShapeType3D,
|
|
24
|
-
circle: () => circle,
|
|
25
|
-
geometryShape: () => geometryShape,
|
|
26
|
-
hexagon: () => hexagon,
|
|
27
|
-
pentagon: () => pentagon,
|
|
28
|
-
polygonPath: () => polygonPath,
|
|
29
|
-
square: () => square,
|
|
30
|
-
triangle: () => triangle
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
31
7
|
});
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
8
|
+
exports.ShapeType3D = exports.ShapeType2D = void 0;
|
|
9
|
+
exports.circle = circle;
|
|
10
|
+
exports.geometryShape = void 0;
|
|
11
|
+
exports.hexagon = hexagon;
|
|
12
|
+
exports.pentagon = pentagon;
|
|
13
|
+
exports.polygonPath = polygonPath;
|
|
14
|
+
exports.square = square;
|
|
15
|
+
exports.triangle = triangle;
|
|
16
|
+
|
|
17
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
+
|
|
19
|
+
var _geometryShape;
|
|
20
|
+
|
|
21
|
+
var ShapeType3D;
|
|
22
|
+
exports.ShapeType3D = ShapeType3D;
|
|
23
|
+
|
|
24
|
+
(function (ShapeType3D) {
|
|
25
|
+
ShapeType3D["CYLINDER"] = "cylinder";
|
|
26
|
+
ShapeType3D["SQUARECOLUMN"] = "squareColumn";
|
|
27
|
+
ShapeType3D["TRIANGLECOLUMN"] = "triangleColumn";
|
|
28
|
+
ShapeType3D["HEXAGONCOLUMN"] = "hexagonColumn";
|
|
29
|
+
ShapeType3D["PENTAGONCOLUMN"] = "pentagonColumn";
|
|
30
|
+
})(ShapeType3D || (exports.ShapeType3D = ShapeType3D = {}));
|
|
31
|
+
|
|
32
|
+
var ShapeType2D;
|
|
33
|
+
/**
|
|
34
|
+
* 生成规则多边形顶点个数
|
|
35
|
+
* @param pointCount 顶点个数 3 => 三角形
|
|
36
|
+
* @param start 顶点起始角度 调整图形的方向
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
exports.ShapeType2D = ShapeType2D;
|
|
40
|
+
|
|
41
|
+
(function (ShapeType2D) {
|
|
42
|
+
ShapeType2D["CIRCLE"] = "circle";
|
|
43
|
+
ShapeType2D["SQUARE"] = "square";
|
|
44
|
+
ShapeType2D["TRIANGLE"] = "triangle";
|
|
45
|
+
ShapeType2D["HEXAGON"] = "hexagon";
|
|
46
|
+
ShapeType2D["PENTAGON"] = "pentagon";
|
|
47
|
+
})(ShapeType2D || (exports.ShapeType2D = ShapeType2D = {}));
|
|
48
|
+
|
|
49
|
+
function polygonPath(pointCount) {
|
|
50
|
+
var start = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
51
|
+
var step = Math.PI * 2 / pointCount;
|
|
52
|
+
var line = [];
|
|
53
|
+
|
|
54
|
+
for (var i = 0; i < pointCount; i++) {
|
|
53
55
|
line.push(step * i + start * Math.PI / 12);
|
|
54
56
|
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
57
|
+
|
|
58
|
+
var path = line.map(function (t) {
|
|
59
|
+
var x = Math.sin(t + Math.PI / 4);
|
|
60
|
+
var y = Math.cos(t + Math.PI / 4);
|
|
58
61
|
return [x, y, 0];
|
|
59
|
-
});
|
|
62
|
+
}); // path.push(path[0]);
|
|
63
|
+
|
|
60
64
|
return path;
|
|
61
65
|
}
|
|
66
|
+
|
|
62
67
|
function circle() {
|
|
63
68
|
return polygonPath(30);
|
|
64
69
|
}
|
|
70
|
+
|
|
65
71
|
function square() {
|
|
66
72
|
return polygonPath(4);
|
|
67
73
|
}
|
|
74
|
+
|
|
68
75
|
function triangle() {
|
|
69
76
|
return polygonPath(3);
|
|
70
77
|
}
|
|
78
|
+
|
|
71
79
|
function hexagon() {
|
|
72
80
|
return polygonPath(6, 1);
|
|
73
81
|
}
|
|
82
|
+
|
|
74
83
|
function pentagon() {
|
|
75
84
|
return polygonPath(5);
|
|
76
85
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
["triangle" /* TRIANGLE */]: triangle,
|
|
81
|
-
["square" /* SQUARE */]: square,
|
|
82
|
-
["pentagon" /* PENTAGON */]: pentagon,
|
|
83
|
-
["cylinder" /* CYLINDER */]: circle,
|
|
84
|
-
["hexagonColumn" /* HEXAGONCOLUMN */]: hexagon,
|
|
85
|
-
["triangleColumn" /* TRIANGLECOLUMN */]: triangle,
|
|
86
|
-
["squareColumn" /* SQUARECOLUMN */]: square,
|
|
87
|
-
["pentagonColumn" /* PENTAGONCOLUMN */]: pentagon
|
|
88
|
-
};
|
|
89
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
90
|
-
0 && (module.exports = {
|
|
91
|
-
ShapeType2D,
|
|
92
|
-
ShapeType3D,
|
|
93
|
-
circle,
|
|
94
|
-
geometryShape,
|
|
95
|
-
hexagon,
|
|
96
|
-
pentagon,
|
|
97
|
-
polygonPath,
|
|
98
|
-
square,
|
|
99
|
-
triangle
|
|
100
|
-
});
|
|
86
|
+
|
|
87
|
+
var geometryShape = (_geometryShape = {}, (0, _defineProperty2.default)(_geometryShape, ShapeType2D.CIRCLE, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.HEXAGON, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.TRIANGLE, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.SQUARE, square), (0, _defineProperty2.default)(_geometryShape, ShapeType2D.PENTAGON, pentagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.CYLINDER, circle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.HEXAGONCOLUMN, hexagon), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.TRIANGLECOLUMN, triangle), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.SQUARECOLUMN, square), (0, _defineProperty2.default)(_geometryShape, ShapeType3D.PENTAGONCOLUMN, pentagon), _geometryShape);
|
|
88
|
+
exports.geometryShape = geometryShape;
|
|
@@ -1,139 +1,180 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var __export = (target, all) => {
|
|
8
|
-
for (var name in all)
|
|
9
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
-
};
|
|
11
|
-
var __copyProps = (to, from, except, desc) => {
|
|
12
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
-
for (let key of __getOwnPropNames(from))
|
|
14
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
|
|
20
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
-
|
|
22
|
-
// src/core/shape/extrude.ts
|
|
23
|
-
var extrude_exports = {};
|
|
24
|
-
__export(extrude_exports, {
|
|
25
|
-
default: () => extrudePolygon,
|
|
26
|
-
extrude_PolygonNormal: () => extrude_PolygonNormal,
|
|
27
|
-
fillPolygon: () => fillPolygon
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
28
7
|
});
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
8
|
+
exports.default = extrudePolygon;
|
|
9
|
+
exports.extrude_PolygonNormal = extrude_PolygonNormal;
|
|
10
|
+
exports.fillPolygon = fillPolygon;
|
|
11
|
+
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _l7Utils = require("@antv/l7-utils");
|
|
15
|
+
|
|
16
|
+
var _earcut = _interopRequireDefault(require("earcut"));
|
|
17
|
+
|
|
18
|
+
var _glMatrix = require("gl-matrix");
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* 拉伸多边形顶点,返回拉伸后的顶点信息
|
|
22
|
+
* @param paths 路径数据组
|
|
23
|
+
* @param extrude 是否拉伸
|
|
24
|
+
*/
|
|
33
25
|
function extrudePolygon(path) {
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
var p1 = path[0][0];
|
|
27
|
+
var p2 = path[0][path[0].length - 1];
|
|
28
|
+
|
|
36
29
|
if (p1[0] === p2[0] && p1[1] === p2[1]) {
|
|
37
30
|
path[0] = path[0].slice(0, path[0].length - 1);
|
|
38
31
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
32
|
+
|
|
33
|
+
var n = path[0].length;
|
|
34
|
+
|
|
35
|
+
var flattengeo = _earcut.default.flatten(path);
|
|
36
|
+
|
|
37
|
+
var vertices = flattengeo.vertices,
|
|
38
|
+
dimensions = flattengeo.dimensions;
|
|
39
|
+
var positions = [];
|
|
40
|
+
var indexArray = []; // 设置顶部z值
|
|
41
|
+
|
|
42
|
+
for (var j = 0; j < vertices.length / dimensions; j++) {
|
|
45
43
|
if (dimensions === 2) {
|
|
46
44
|
positions.push(vertices[j * 2], vertices[j * 2 + 1], 1);
|
|
47
45
|
} else {
|
|
48
46
|
positions.push(vertices[j * 3], vertices[j * 3 + 1], 1);
|
|
49
47
|
}
|
|
50
48
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
49
|
+
|
|
50
|
+
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
51
|
+
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
|
|
52
|
+
|
|
53
|
+
var _loop = function _loop(i) {
|
|
54
|
+
var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
|
|
55
|
+
var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
|
|
56
|
+
|
|
56
57
|
if (nextPoint.length === 0) {
|
|
57
58
|
nextPoint = flattengeo.vertices.slice(0, dimensions);
|
|
58
59
|
}
|
|
59
|
-
|
|
60
|
+
|
|
61
|
+
var indexOffset = positions.length / 3;
|
|
60
62
|
positions.push(prePoint[0], prePoint[1], 1, nextPoint[0], nextPoint[1], 1, prePoint[0], prePoint[1], 0, nextPoint[0], nextPoint[1], 0);
|
|
61
|
-
indexArray.push(
|
|
63
|
+
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)([0, 2, 1, 2, 3, 1].map(function (v) {
|
|
64
|
+
return v + indexOffset;
|
|
65
|
+
})));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
for (var i = 0; i < n; i++) {
|
|
69
|
+
_loop(i);
|
|
62
70
|
}
|
|
71
|
+
|
|
63
72
|
return {
|
|
64
|
-
positions,
|
|
73
|
+
positions: positions,
|
|
65
74
|
index: indexArray
|
|
66
75
|
};
|
|
67
76
|
}
|
|
77
|
+
|
|
68
78
|
function fillPolygon(points) {
|
|
69
|
-
|
|
70
|
-
|
|
79
|
+
var flattengeo = _earcut.default.flatten(points);
|
|
80
|
+
|
|
81
|
+
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
71
82
|
return {
|
|
72
83
|
positions: flattengeo.vertices,
|
|
73
84
|
index: triangles
|
|
74
85
|
};
|
|
75
86
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
87
|
+
|
|
88
|
+
function extrude_PolygonNormal(path) {
|
|
89
|
+
var needFlat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
90
|
+
var p1 = path[0][0];
|
|
91
|
+
var p2 = path[0][path[0].length - 1];
|
|
92
|
+
|
|
79
93
|
if (p1[0] === p2[0] && p1[1] === p2[1]) {
|
|
80
94
|
path[0] = path[0].slice(0, path[0].length - 1);
|
|
81
95
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
96
|
+
|
|
97
|
+
var n = path[0].length;
|
|
98
|
+
|
|
99
|
+
var flattengeo = _earcut.default.flatten(path);
|
|
100
|
+
|
|
101
|
+
var vertices = flattengeo.vertices,
|
|
102
|
+
dimensions = flattengeo.dimensions;
|
|
103
|
+
var positions = [];
|
|
104
|
+
var indexArray = [];
|
|
105
|
+
var normals = []; // 设置顶部z值 position uv
|
|
106
|
+
|
|
107
|
+
for (var j = 0; j < vertices.length / dimensions; j++) {
|
|
89
108
|
if (dimensions === 2) {
|
|
90
109
|
positions.push(vertices[j * 2], vertices[j * 2 + 1], 1, -1, -1);
|
|
91
110
|
} else {
|
|
92
111
|
positions.push(vertices[j * 3], vertices[j * 3 + 1], 1, -1, -1);
|
|
93
112
|
}
|
|
113
|
+
|
|
94
114
|
normals.push(0, 0, 1);
|
|
95
115
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
116
|
+
|
|
117
|
+
var triangles = (0, _earcut.default)(flattengeo.vertices, flattengeo.holes, flattengeo.dimensions);
|
|
118
|
+
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)(triangles));
|
|
119
|
+
|
|
120
|
+
var _loop2 = function _loop2(i) {
|
|
121
|
+
var prePoint = flattengeo.vertices.slice(i * dimensions, (i + 1) * dimensions);
|
|
122
|
+
var nextPoint = flattengeo.vertices.slice((i + 1) * dimensions, (i + 2) * dimensions);
|
|
123
|
+
|
|
101
124
|
if (nextPoint.length === 0) {
|
|
102
125
|
nextPoint = flattengeo.vertices.slice(0, dimensions);
|
|
103
126
|
}
|
|
104
|
-
|
|
127
|
+
|
|
128
|
+
var indexOffset = positions.length / 5;
|
|
105
129
|
positions.push(prePoint[0], prePoint[1], 1, 0, 0, nextPoint[0], nextPoint[1], 1, 0.1, 0, prePoint[0], prePoint[1], 0, 0, 0.8, nextPoint[0], nextPoint[1], 0, 0.1, 0.8);
|
|
106
|
-
|
|
107
|
-
normals.push(
|
|
108
|
-
indexArray.push(
|
|
130
|
+
var normal = computeVertexNormals([nextPoint[0], nextPoint[1], 1], [prePoint[0], prePoint[1], 0], [prePoint[0], prePoint[1], 1], needFlat);
|
|
131
|
+
normals.push.apply(normals, (0, _toConsumableArray2.default)(normal).concat((0, _toConsumableArray2.default)(normal), (0, _toConsumableArray2.default)(normal), (0, _toConsumableArray2.default)(normal)));
|
|
132
|
+
indexArray.push.apply(indexArray, (0, _toConsumableArray2.default)([1, 2, 0, 3, 2, 1].map(function (v) {
|
|
133
|
+
return v + indexOffset;
|
|
134
|
+
})));
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
for (var i = 0; i < n; i++) {
|
|
138
|
+
_loop2(i);
|
|
109
139
|
}
|
|
140
|
+
|
|
110
141
|
return {
|
|
111
|
-
positions,
|
|
142
|
+
positions: positions,
|
|
112
143
|
index: indexArray,
|
|
113
|
-
normals
|
|
144
|
+
normals: normals
|
|
114
145
|
};
|
|
115
146
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
147
|
+
|
|
148
|
+
function computeVertexNormals(p1, p2, p3) {
|
|
149
|
+
var needFlat = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
150
|
+
|
|
151
|
+
var cb = _glMatrix.vec3.create();
|
|
152
|
+
|
|
153
|
+
var ab = _glMatrix.vec3.create();
|
|
154
|
+
|
|
155
|
+
var normal = _glMatrix.vec3.create();
|
|
156
|
+
|
|
120
157
|
if (needFlat) {
|
|
121
|
-
p1 = (0,
|
|
122
|
-
p2 = (0,
|
|
123
|
-
p3 = (0,
|
|
158
|
+
p1 = (0, _l7Utils.lngLatToMeters)(p1);
|
|
159
|
+
p2 = (0, _l7Utils.lngLatToMeters)(p2);
|
|
160
|
+
p3 = (0, _l7Utils.lngLatToMeters)(p3);
|
|
124
161
|
}
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
162
|
+
|
|
163
|
+
var pA = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p1));
|
|
164
|
+
|
|
165
|
+
var pB = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p2));
|
|
166
|
+
|
|
167
|
+
var pC = _glMatrix.vec3.fromValues.apply(_glMatrix.vec3, (0, _toConsumableArray2.default)(p3));
|
|
168
|
+
|
|
169
|
+
_glMatrix.vec3.sub(cb, pC, pB);
|
|
170
|
+
|
|
171
|
+
_glMatrix.vec3.sub(ab, pA, pB);
|
|
172
|
+
|
|
173
|
+
_glMatrix.vec3.cross(normal, cb, ab);
|
|
174
|
+
|
|
175
|
+
var newNormal = _glMatrix.vec3.create();
|
|
176
|
+
|
|
177
|
+
_glMatrix.vec3.normalize(newNormal, normal);
|
|
178
|
+
|
|
133
179
|
return newNormal;
|
|
134
|
-
}
|
|
135
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
136
|
-
0 && (module.exports = {
|
|
137
|
-
extrude_PolygonNormal,
|
|
138
|
-
fillPolygon
|
|
139
|
-
});
|
|
180
|
+
}
|