@antv/l7-layers 2.8.43 → 2.9.0
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/core/BaseLayer.d.ts +3 -1
- package/es/core/BaseLayer.js +23 -3
- package/es/core/BaseLayer.js.map +1 -1
- package/es/core/BaseModel.d.ts +2 -1
- package/es/core/BaseModel.js +3 -0
- package/es/core/BaseModel.js.map +1 -1
- package/es/core/interface.d.ts +12 -0
- package/es/core/interface.js.map +1 -1
- package/es/image/models/image.js.map +1 -1
- package/es/line/index.d.ts +1 -1
- package/es/line/index.js +7 -1
- package/es/line/index.js.map +1 -1
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +5 -1
- package/es/line/models/index.js.map +1 -1
- package/es/line/models/tile.d.ts +20 -0
- package/es/line/models/tile.js +327 -0
- package/es/line/models/tile.js.map +1 -0
- package/es/plugins/ShaderUniformPlugin.js +3 -1
- package/es/plugins/ShaderUniformPlugin.js.map +1 -1
- package/es/point/index.d.ts +1 -1
- package/es/point/index.js +8 -2
- package/es/point/index.js.map +1 -1
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +5 -1
- package/es/point/models/index.js.map +1 -1
- package/es/point/models/tile.d.ts +31 -0
- package/es/point/models/tile.js +291 -0
- package/es/point/models/tile.js.map +1 -0
- package/es/polygon/index.js +6 -0
- package/es/polygon/index.js.map +1 -1
- package/es/polygon/models/extrude.js +1 -5
- package/es/polygon/models/extrude.js.map +1 -1
- package/es/polygon/models/fill.js +0 -4
- package/es/polygon/models/fill.js.map +1 -1
- package/es/polygon/models/index.d.ts +1 -1
- package/es/polygon/models/index.js +5 -1
- package/es/polygon/models/index.js.map +1 -1
- package/es/polygon/models/tile.d.ts +16 -0
- package/es/polygon/models/tile.js +137 -0
- package/es/polygon/models/tile.js.map +1 -0
- package/es/raster/index.d.ts +2 -2
- package/es/raster/index.js +4 -4
- package/es/raster/index.js.map +1 -1
- package/es/raster/models/index.js +1 -1
- package/es/raster/models/index.js.map +1 -1
- package/es/raster/models/raster.d.ts +1 -0
- package/es/raster/models/raster.js +8 -2
- package/es/raster/models/raster.js.map +1 -1
- package/es/tile/interface.d.ts +28 -0
- package/es/tile/interface.js +2 -0
- package/es/tile/interface.js.map +1 -0
- package/es/tile/manager/tileConfigManager.d.ts +17 -0
- package/es/tile/manager/tileConfigManager.js +123 -0
- package/es/tile/manager/tileConfigManager.js.map +1 -0
- package/es/tile/manager/tileLayerManager.d.ts +34 -0
- package/es/tile/manager/tileLayerManager.js +283 -0
- package/es/tile/manager/tileLayerManager.js.map +1 -0
- package/es/tile/manager/tilePickerManager.d.ts +20 -0
- package/es/tile/manager/tilePickerManager.js +164 -0
- package/es/tile/manager/tilePickerManager.js.map +1 -0
- package/es/tile/models/tileModel.d.ts +8 -0
- package/es/tile/models/tileModel.js +61 -0
- package/es/tile/models/tileModel.js.map +1 -0
- package/es/tile/tileFactory/base.d.ts +40 -0
- package/es/tile/tileFactory/base.js +352 -0
- package/es/tile/tileFactory/base.js.map +1 -0
- package/es/tile/tileFactory/index.d.ts +5 -0
- package/es/tile/tileFactory/index.js +30 -0
- package/es/tile/tileFactory/index.js.map +1 -0
- package/es/tile/tileFactory/line.d.ts +12 -0
- package/es/tile/tileFactory/line.js +65 -0
- package/es/tile/tileFactory/line.js.map +1 -0
- package/es/tile/tileFactory/point.d.ts +12 -0
- package/es/tile/tileFactory/point.js +65 -0
- package/es/tile/tileFactory/point.js.map +1 -0
- package/es/tile/tileFactory/polygon.d.ts +12 -0
- package/es/tile/tileFactory/polygon.js +65 -0
- package/es/tile/tileFactory/polygon.js.map +1 -0
- package/es/tile/tileFactory/raster.d.ts +12 -0
- package/es/tile/tileFactory/raster.js +61 -0
- package/es/tile/tileFactory/raster.js.map +1 -0
- package/es/tile/tileFactory/rasterData.d.ts +12 -0
- package/es/tile/tileFactory/rasterData.js +75 -0
- package/es/tile/tileFactory/rasterData.js.map +1 -0
- package/es/tile/tileFactory/rasterDataLayer.d.ts +19 -0
- package/es/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +39 -32
- package/es/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/es/tile/tileFactory/vectorLayer.d.ts +27 -0
- package/es/tile/tileFactory/vectorLayer.js +131 -0
- package/es/tile/tileFactory/vectorLayer.js.map +1 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +51 -0
- package/es/tile/tileLayer/baseTileLayer.js +409 -0
- package/es/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/es/tile/tmsTileLayer.d.ts +7 -0
- package/es/tile/tmsTileLayer.js +94 -0
- package/es/tile/tmsTileLayer.js.map +1 -0
- package/es/tile/utils.d.ts +11 -0
- package/es/tile/utils.js +120 -0
- package/es/tile/utils.js.map +1 -0
- package/lib/core/BaseLayer.js +21 -2
- package/lib/core/BaseLayer.js.map +1 -1
- package/lib/core/BaseModel.js +2 -0
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/core/interface.js.map +1 -1
- package/lib/image/models/image.js.map +1 -1
- package/lib/line/index.js +7 -1
- package/lib/line/index.js.map +1 -1
- package/lib/line/models/index.js +7 -1
- package/lib/line/models/index.js.map +1 -1
- package/lib/line/models/tile.js +342 -0
- package/lib/line/models/tile.js.map +1 -0
- package/lib/plugins/ShaderUniformPlugin.js +3 -1
- package/lib/plugins/ShaderUniformPlugin.js.map +1 -1
- package/lib/point/index.js +8 -2
- package/lib/point/index.js.map +1 -1
- package/lib/point/models/index.js +7 -1
- package/lib/point/models/index.js.map +1 -1
- package/lib/point/models/tile.js +308 -0
- package/lib/point/models/tile.js.map +1 -0
- package/lib/polygon/index.js +6 -0
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/models/extrude.js +1 -5
- package/lib/polygon/models/extrude.js.map +1 -1
- package/lib/polygon/models/fill.js +0 -4
- package/lib/polygon/models/fill.js.map +1 -1
- package/lib/polygon/models/index.js +7 -1
- package/lib/polygon/models/index.js.map +1 -1
- package/lib/polygon/models/tile.js +152 -0
- package/lib/polygon/models/tile.js.map +1 -0
- package/lib/raster/index.js +4 -4
- package/lib/raster/index.js.map +1 -1
- package/lib/raster/models/index.js +2 -2
- package/lib/raster/models/index.js.map +1 -1
- package/lib/raster/models/raster.js +8 -2
- package/lib/raster/models/raster.js.map +1 -1
- package/lib/tile/interface.js +2 -0
- package/lib/tile/interface.js.map +1 -0
- package/lib/tile/manager/tileConfigManager.js +134 -0
- package/lib/tile/manager/tileConfigManager.js.map +1 -0
- package/lib/tile/manager/tileLayerManager.js +291 -0
- package/lib/tile/manager/tileLayerManager.js.map +1 -0
- package/lib/tile/manager/tilePickerManager.js +170 -0
- package/lib/tile/manager/tilePickerManager.js.map +1 -0
- package/lib/tile/models/tileModel.js +73 -0
- package/lib/tile/models/tileModel.js.map +1 -0
- package/lib/tile/tileFactory/base.js +366 -0
- package/lib/tile/tileFactory/base.js.map +1 -0
- package/lib/tile/tileFactory/index.js +60 -0
- package/lib/tile/tileFactory/index.js.map +1 -0
- package/lib/tile/tileFactory/line.js +76 -0
- package/lib/tile/tileFactory/line.js.map +1 -0
- package/lib/tile/tileFactory/point.js +76 -0
- package/lib/tile/tileFactory/point.js.map +1 -0
- package/lib/tile/tileFactory/polygon.js +76 -0
- package/lib/tile/tileFactory/polygon.js.map +1 -0
- package/lib/tile/tileFactory/raster.js +74 -0
- package/lib/tile/tileFactory/raster.js.map +1 -0
- package/lib/tile/tileFactory/rasterData.js +88 -0
- package/lib/tile/tileFactory/rasterData.js.map +1 -0
- package/lib/{core/LayerGroup.js → tile/tileFactory/rasterDataLayer.js} +40 -32
- package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -0
- package/lib/tile/tileFactory/vectorLayer.js +145 -0
- package/lib/tile/tileFactory/vectorLayer.js.map +1 -0
- package/lib/tile/tileLayer/baseTileLayer.js +408 -0
- package/lib/tile/tileLayer/baseTileLayer.js.map +1 -0
- package/lib/tile/tmsTileLayer.js +109 -0
- package/lib/tile/tmsTileLayer.js.map +1 -0
- package/lib/tile/utils.js +142 -0
- package/lib/tile/utils.js.map +1 -0
- package/package.json +7 -5
- package/es/core/LayerGroup.d.ts +0 -9
- package/es/core/LayerGroup.js.map +0 -1
- package/es/raster/models/raste-tile.d.ts +0 -23
- package/es/raster/models/raste-tile.js +0 -285
- package/es/raster/models/raste-tile.js.map +0 -1
- package/lib/core/LayerGroup.js.map +0 -1
- package/lib/raster/models/raste-tile.js +0 -294
- package/lib/raster/models/raste-tile.js.map +0 -1
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
|
|
14
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
+
|
|
16
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
+
|
|
18
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
+
|
|
20
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
+
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _l7Core = require("@antv/l7-core");
|
|
27
|
+
|
|
28
|
+
var _l7Utils = require("@antv/l7-utils");
|
|
29
|
+
|
|
30
|
+
var _BaseModel2 = _interopRequireDefault(require("../../core/BaseModel"));
|
|
31
|
+
|
|
32
|
+
var _triangulation = require("../../core/triangulation");
|
|
33
|
+
|
|
34
|
+
var _l7Maps = require("@antv/l7-maps");
|
|
35
|
+
|
|
36
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
37
|
+
|
|
38
|
+
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; } }
|
|
39
|
+
|
|
40
|
+
var point_tile_frag = "uniform float u_additive;\nvarying mat4 styleMappingMat; // \u4F20\u9012\u4ECE\u7247\u5143\u4E2D\u4F20\u9012\u7684\u6620\u5C04\u6570\u636E\n\nvarying vec4 v_data;\nvarying vec4 v_color;\nvarying float v_radius;\n\n#pragma include \"sdf_2d\"\n#pragma include \"picking\"\n\nvoid main() {\n int shape = int(floor(v_data.w + 0.5));\n\n vec4 textrueStroke = vec4(\n styleMappingMat[1][0],\n styleMappingMat[1][1],\n styleMappingMat[1][2],\n styleMappingMat[1][3]\n );\n\n float opacity = styleMappingMat[0][0];\n float stroke_opacity = styleMappingMat[0][1];\n float strokeWidth = styleMappingMat[0][2];\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\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 * opacity);\n } else {\n gl_FragColor = mix(vec4(v_color.rgb, v_color.a * opacity), strokeColor * 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";
|
|
41
|
+
var point_tile_vert = "attribute vec4 a_Color;\nattribute vec3 a_Position;\nattribute vec3 a_Extrude;\nattribute float a_Size;\nattribute float a_Shape;\n\nvarying mat4 styleMappingMat; // \u7528\u4E8E\u5C06\u5728\u9876\u70B9\u7740\u8272\u5668\u4E2D\u8BA1\u7B97\u597D\u7684\u6837\u5F0F\u503C\u4F20\u9012\u7ED9\u7247\u5143\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform float u_isMeter;\n\nuniform vec2 u_tileOrigin;\nuniform float u_coord;\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 \"styleMapping\"\n#pragma include \"styleMappingCalOpacity\"\n#pragma include \"styleMappingCalStrokeOpacity\"\n#pragma include \"styleMappingCalStrokeWidth\"\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvoid main() {\n vec3 extrude = a_Extrude;\n float shape_type = a_Shape;\n float newSize = setPickingSize(a_Size);\n\n // cal style mapping - \u6570\u636E\u7EB9\u7406\u6620\u5C04\u90E8\u5206\u7684\u8BA1\u7B97\n styleMappingMat = mat4(\n 0.0, 0.0, 0.0, 0.0, // opacity - strokeOpacity - strokeWidth - empty\n 0.0, 0.0, 0.0, 0.0, // strokeR - strokeG - strokeB - strokeA\n 0.0, 0.0, 0.0, 0.0, // offsets[0] - offsets[1]\n 0.0, 0.0, 0.0, 0.0\n );\n\n float rowCount = u_cellTypeLayout[0][0]; // \u5F53\u524D\u7684\u6570\u636E\u7EB9\u7406\u6709\u51E0\u884C\n float columnCount = u_cellTypeLayout[0][1]; // \u5F53\u770B\u5230\u6570\u636E\u7EB9\u7406\u6709\u51E0\u5217\n float columnWidth = 1.0/columnCount; // \u5217\u5BBD\n float rowHeight = 1.0/rowCount; // \u884C\u9AD8\n float cellCount = calCellCount(); // opacity - strokeOpacity - strokeWidth - stroke - offsets\n float id = a_vertexId; // \u7B2Cn\u4E2A\u9876\u70B9\n float cellCurrentRow = floor(id * cellCount / columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u884C\n float cellCurrentColumn = mod(id * cellCount, columnCount) + 1.0; // \u8D77\u59CB\u70B9\u5728\u7B2C\u51E0\u5217\n \n // cell \u56FA\u5B9A\u987A\u5E8F opacity -> strokeOpacity -> strokeWidth -> stroke ... \n // \u6309\u987A\u5E8F\u4ECE cell \u4E2D\u53D6\u503C\u3001\u82E5\u6CA1\u6709\u5219\u81EA\u52A8\u5F80\u4E0B\u53D6\u503C\n float textureOffset = 0.0; // \u5728 cell \u4E2D\u53D6\u503C\u7684\u504F\u79FB\u91CF\n\n vec2 opacityAndOffset = calOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][0] = opacityAndOffset.r;\n textureOffset = opacityAndOffset.g;\n\n vec2 strokeOpacityAndOffset = calStrokeOpacityAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][1] = strokeOpacityAndOffset.r;\n textureOffset = strokeOpacityAndOffset.g;\n\n vec2 strokeWidthAndOffset = calStrokeWidthAndOffset(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset, columnWidth, rowHeight);\n styleMappingMat[0][2] = strokeWidthAndOffset.r;\n textureOffset = strokeWidthAndOffset.g;\n\n vec4 textrueStroke = vec4(-1.0, -1.0, -1.0, -1.0);\n if(hasStroke()) {\n vec2 valueRPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][0] = pos2value(valueRPos, columnWidth, rowHeight); // R\n textureOffset += 1.0;\n\n vec2 valueGPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][1] = pos2value(valueGPos, columnWidth, rowHeight); // G\n textureOffset += 1.0;\n\n vec2 valueBPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][2] = pos2value(valueBPos, columnWidth, rowHeight); // B\n textureOffset += 1.0;\n\n vec2 valueAPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n styleMappingMat[1][3] = pos2value(valueAPos, columnWidth, rowHeight); // A\n textureOffset += 1.0;\n } else {\n if(u_stroke_color == vec4(0.0)) {\n styleMappingMat[1][0] = v_color.r;\n styleMappingMat[1][1] = v_color.g;\n styleMappingMat[1][2] = v_color.b;\n styleMappingMat[1][3] = v_color.a;\n } else {\n styleMappingMat[1][0] = u_stroke_color.r;\n styleMappingMat[1][1] = u_stroke_color.g;\n styleMappingMat[1][2] = u_stroke_color.b;\n styleMappingMat[1][3] = u_stroke_color.a;\n }\n }\n\n vec2 textrueOffsets = vec2(0.0, 0.0);\n if(hasOffsets()) {\n vec2 valueXPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.r = pos2value(valueXPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n\n vec2 valueYPos = nextPos(cellCurrentRow, cellCurrentColumn, columnCount, textureOffset);\n textrueOffsets.g = pos2value(valueYPos, columnWidth, rowHeight); // x\n textureOffset += 1.0;\n } else {\n textrueOffsets = u_offsets;\n }\n\n // cal style mapping\n\n v_color = a_Color;\n v_radius = newSize;\n\n // anti-alias\n // float antialiased_blur = -max(u_blur, antialiasblur);\n float antialiasblur = -max(2.0 / u_DevicePixelRatio / a_Size, u_blur);\n\n vec2 offset = (extrude.xy * (newSize + u_stroke_width) + textrueOffsets);\n vec3 aPosition = a_Position;\n if(u_isMeter < 1.0) {\n // \u4E0D\u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n offset = project_pixel(offset);\n } else {\n // \u4EE5\u7C73\u4E3A\u5B9E\u9645\u5355\u4F4D\n antialiasblur *= pow(19.0 - u_Zoom, 2.0);\n antialiasblur = max(antialiasblur, -0.01);\n // offset *= 0.5;\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n aPosition.xy += offset;\n offset.x = 0.0;\n offset.y = 0.0;\n }\n }\n\n v_data = vec4(extrude.x, extrude.y, antialiasblur,shape_type);\n\n vec4 project_pos = project_position(vec4(aPosition.xy, 0.0, 1.0));\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n float mapboxZoomScale = 4.0/pow(2.0, 21.0 - u_Zoom);\n }\n\nif(u_coord > 0.0) {\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * vec4(project_pos.xy + offset, 0.0, 1.0);\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy + offset, 0.0, 1.0));\n }\n} else {\n gl_PointSize = 24.0;\n vec2 pointPos = a_Position.xy;\n vec4 world = vec4(project_mvt_offset_position(vec4(u_tileOrigin, 0.0, 1.0)).xyz, 1.0); // \u74E6\u7247\u8D77\u59CB\u70B9\u7684\u4E16\u754C\u5750\u6807\n\n vec2 pointOffset = pointPos * pow(2.0, u_Zoom); // \u74E6\u7247\u5185\u7684\u70B9\u7684\u504F\u79FB\u5750\u6807\n \n world.xy += offset;\n world.xy += pointOffset;\n\n if (u_CoordinateSystem == COORDINATE_SYSTEM_METER_OFFSET || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n // Needs to be divided with project_uCommonUnitsPerMeter\n world.w *= u_PixelsPerMeter.z;\n }\n\n gl_Position = u_ViewProjectionMatrix * world + u_ViewportCenterProjection;\n}\n\n \n setPickingColor(a_PickingColor);\n\n\n}\n";
|
|
42
|
+
|
|
43
|
+
var FillModel = function (_BaseModel) {
|
|
44
|
+
(0, _inherits2.default)(FillModel, _BaseModel);
|
|
45
|
+
|
|
46
|
+
var _super = _createSuper(FillModel);
|
|
47
|
+
|
|
48
|
+
function FillModel() {
|
|
49
|
+
var _this;
|
|
50
|
+
|
|
51
|
+
(0, _classCallCheck2.default)(this, FillModel);
|
|
52
|
+
|
|
53
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
54
|
+
args[_key] = arguments[_key];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
58
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meter2coord", 1);
|
|
59
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isMeter", false);
|
|
60
|
+
return _this;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
(0, _createClass2.default)(FillModel, [{
|
|
64
|
+
key: "getUninforms",
|
|
65
|
+
value: function getUninforms() {
|
|
66
|
+
var _ref = this.layer.getLayerConfig(),
|
|
67
|
+
_ref$opacity = _ref.opacity,
|
|
68
|
+
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
69
|
+
_ref$strokeOpacity = _ref.strokeOpacity,
|
|
70
|
+
strokeOpacity = _ref$strokeOpacity === void 0 ? 1 : _ref$strokeOpacity,
|
|
71
|
+
_ref$strokeWidth = _ref.strokeWidth,
|
|
72
|
+
strokeWidth = _ref$strokeWidth === void 0 ? 0 : _ref$strokeWidth,
|
|
73
|
+
_ref$stroke = _ref.stroke,
|
|
74
|
+
stroke = _ref$stroke === void 0 ? 'rgba(0,0,0,0)' : _ref$stroke,
|
|
75
|
+
_ref$offsets = _ref.offsets,
|
|
76
|
+
offsets = _ref$offsets === void 0 ? [0, 0] : _ref$offsets,
|
|
77
|
+
blend = _ref.blend,
|
|
78
|
+
_ref$blur = _ref.blur,
|
|
79
|
+
blur = _ref$blur === void 0 ? 0 : _ref$blur,
|
|
80
|
+
_ref$coord = _ref.coord,
|
|
81
|
+
coord = _ref$coord === void 0 ? 'lnglat' : _ref$coord,
|
|
82
|
+
tileOrigin = _ref.tileOrigin;
|
|
83
|
+
|
|
84
|
+
if (this.dataTextureTest && this.dataTextureNeedUpdate({
|
|
85
|
+
opacity: opacity,
|
|
86
|
+
strokeOpacity: strokeOpacity,
|
|
87
|
+
strokeWidth: strokeWidth,
|
|
88
|
+
stroke: stroke,
|
|
89
|
+
offsets: offsets
|
|
90
|
+
})) {
|
|
91
|
+
this.judgeStyleAttributes({
|
|
92
|
+
opacity: opacity,
|
|
93
|
+
strokeOpacity: strokeOpacity,
|
|
94
|
+
strokeWidth: strokeWidth,
|
|
95
|
+
stroke: stroke,
|
|
96
|
+
offsets: offsets
|
|
97
|
+
});
|
|
98
|
+
var encodeData = this.layer.getEncodedData();
|
|
99
|
+
|
|
100
|
+
var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
|
|
101
|
+
data = _this$calDataFrame.data,
|
|
102
|
+
width = _this$calDataFrame.width,
|
|
103
|
+
height = _this$calDataFrame.height;
|
|
104
|
+
|
|
105
|
+
this.rowCount = height;
|
|
106
|
+
this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
|
|
107
|
+
flipY: true,
|
|
108
|
+
data: data,
|
|
109
|
+
format: _l7Core.gl.LUMINANCE,
|
|
110
|
+
type: _l7Core.gl.FLOAT,
|
|
111
|
+
width: width,
|
|
112
|
+
height: height
|
|
113
|
+
}) : this.createTexture2D({
|
|
114
|
+
flipY: true,
|
|
115
|
+
data: [1],
|
|
116
|
+
format: _l7Core.gl.LUMINANCE,
|
|
117
|
+
type: _l7Core.gl.FLOAT,
|
|
118
|
+
width: 1,
|
|
119
|
+
height: 1
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
u_tileOrigin: tileOrigin || [0, 0],
|
|
125
|
+
u_coord: coord === 'lnglat' ? 1.0 : 0.0,
|
|
126
|
+
u_isMeter: Number(this.isMeter),
|
|
127
|
+
u_blur: blur,
|
|
128
|
+
u_additive: blend === 'additive' ? 1.0 : 0.0,
|
|
129
|
+
u_dataTexture: this.dataTexture,
|
|
130
|
+
u_cellTypeLayout: this.getCellTypeLayout(),
|
|
131
|
+
u_opacity: Number(opacity),
|
|
132
|
+
u_stroke_opacity: Number(strokeOpacity),
|
|
133
|
+
u_stroke_width: Number(strokeWidth),
|
|
134
|
+
u_stroke_color: this.getStrokeColor(stroke),
|
|
135
|
+
u_offsets: this.isOffsetStatic(offsets) ? offsets : [0, 0]
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
}, {
|
|
139
|
+
key: "getAttribute",
|
|
140
|
+
value: function getAttribute() {
|
|
141
|
+
return this.styleAttributeService.createAttributesAndIndices(this.layer.getEncodedData(), _triangulation.PointFillTriangulation);
|
|
142
|
+
}
|
|
143
|
+
}, {
|
|
144
|
+
key: "initModels",
|
|
145
|
+
value: function initModels() {
|
|
146
|
+
var _ref2 = this.layer.getLayerConfig(),
|
|
147
|
+
_ref2$unit = _ref2.unit,
|
|
148
|
+
unit = _ref2$unit === void 0 ? 'l7size' : _ref2$unit;
|
|
149
|
+
|
|
150
|
+
var version = this.mapService.version;
|
|
151
|
+
|
|
152
|
+
if (unit === 'meter' && version !== _l7Maps.Version.L7MAP && version !== _l7Maps.Version.GLOBEL) {
|
|
153
|
+
this.isMeter = true;
|
|
154
|
+
this.calMeter2Coord();
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return this.buildModels();
|
|
158
|
+
}
|
|
159
|
+
}, {
|
|
160
|
+
key: "calMeter2Coord",
|
|
161
|
+
value: function calMeter2Coord() {
|
|
162
|
+
var _this$layer$getSource = (0, _slicedToArray2.default)(this.layer.getSource().extent, 4),
|
|
163
|
+
minLng = _this$layer$getSource[0],
|
|
164
|
+
minLat = _this$layer$getSource[1],
|
|
165
|
+
maxLng = _this$layer$getSource[2],
|
|
166
|
+
maxLat = _this$layer$getSource[3];
|
|
167
|
+
|
|
168
|
+
var center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];
|
|
169
|
+
var version = this.mapService.version;
|
|
170
|
+
|
|
171
|
+
if (version === _l7Maps.Version.MAPBOX && window.mapboxgl.MercatorCoordinate) {
|
|
172
|
+
var coord = window.mapboxgl.MercatorCoordinate.fromLngLat({
|
|
173
|
+
lng: center[0],
|
|
174
|
+
lat: center[1]
|
|
175
|
+
}, 0);
|
|
176
|
+
var offsetInMeters = 1;
|
|
177
|
+
var offsetInMercatorCoordinateUnits = offsetInMeters * coord.meterInMercatorCoordinateUnits();
|
|
178
|
+
var westCoord = new window.mapboxgl.MercatorCoordinate(coord.x - offsetInMercatorCoordinateUnits, coord.y, coord.z);
|
|
179
|
+
var westLnglat = westCoord.toLngLat();
|
|
180
|
+
this.meter2coord = center[0] - westLnglat.lng;
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
var m1 = this.mapService.meterToCoord(center, [minLng, minLat]);
|
|
185
|
+
var m2 = this.mapService.meterToCoord(center, [maxLng === minLng ? maxLng + 0.1 : maxLng, maxLat === minLat ? minLat + 0.1 : maxLat]);
|
|
186
|
+
this.meter2coord = (m1 + m2) / 2;
|
|
187
|
+
|
|
188
|
+
if (!Boolean(this.meter2coord)) {
|
|
189
|
+
this.meter2coord = 7.70681090738883;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}, {
|
|
193
|
+
key: "buildModels",
|
|
194
|
+
value: function buildModels() {
|
|
195
|
+
var _ref3 = this.layer.getLayerConfig(),
|
|
196
|
+
_ref3$mask = _ref3.mask,
|
|
197
|
+
mask = _ref3$mask === void 0 ? false : _ref3$mask,
|
|
198
|
+
_ref3$maskInside = _ref3.maskInside,
|
|
199
|
+
maskInside = _ref3$maskInside === void 0 ? true : _ref3$maskInside;
|
|
200
|
+
|
|
201
|
+
var _this$getShaders = this.getShaders(),
|
|
202
|
+
frag = _this$getShaders.frag,
|
|
203
|
+
vert = _this$getShaders.vert,
|
|
204
|
+
type = _this$getShaders.type;
|
|
205
|
+
|
|
206
|
+
this.layer.triangulation = _triangulation.PointFillTriangulation;
|
|
207
|
+
return [this.layer.buildLayerModel({
|
|
208
|
+
moduleName: type,
|
|
209
|
+
vertexShader: vert,
|
|
210
|
+
fragmentShader: frag,
|
|
211
|
+
triangulation: _triangulation.PointFillTriangulation,
|
|
212
|
+
depth: {
|
|
213
|
+
enable: false
|
|
214
|
+
},
|
|
215
|
+
blend: this.getBlend(),
|
|
216
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside),
|
|
217
|
+
cull: {
|
|
218
|
+
enable: true,
|
|
219
|
+
face: (0, _l7Utils.getCullFace)(this.mapService.version)
|
|
220
|
+
}
|
|
221
|
+
})];
|
|
222
|
+
}
|
|
223
|
+
}, {
|
|
224
|
+
key: "getShaders",
|
|
225
|
+
value: function getShaders() {
|
|
226
|
+
return {
|
|
227
|
+
frag: point_tile_frag,
|
|
228
|
+
vert: point_tile_vert,
|
|
229
|
+
type: 'point_fill_tile'
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
}, {
|
|
233
|
+
key: "clearModels",
|
|
234
|
+
value: function clearModels() {
|
|
235
|
+
var _this$dataTexture;
|
|
236
|
+
|
|
237
|
+
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
238
|
+
}
|
|
239
|
+
}, {
|
|
240
|
+
key: "registerBuiltinAttributes",
|
|
241
|
+
value: function registerBuiltinAttributes() {
|
|
242
|
+
var _this2 = this;
|
|
243
|
+
|
|
244
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
245
|
+
name: 'extrude',
|
|
246
|
+
type: _l7Core.AttributeType.Attribute,
|
|
247
|
+
descriptor: {
|
|
248
|
+
name: 'a_Extrude',
|
|
249
|
+
buffer: {
|
|
250
|
+
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
251
|
+
data: [],
|
|
252
|
+
type: _l7Core.gl.FLOAT
|
|
253
|
+
},
|
|
254
|
+
size: 3,
|
|
255
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
256
|
+
var extrude = [1, 1, 0, -1, 1, 0, -1, -1, 0, 1, -1, 0];
|
|
257
|
+
var extrudeIndex = attributeIdx % 4 * 3;
|
|
258
|
+
return [extrude[extrudeIndex], extrude[extrudeIndex + 1], extrude[extrudeIndex + 2]];
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
});
|
|
262
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
263
|
+
name: 'size',
|
|
264
|
+
type: _l7Core.AttributeType.Attribute,
|
|
265
|
+
descriptor: {
|
|
266
|
+
name: 'a_Size',
|
|
267
|
+
buffer: {
|
|
268
|
+
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
269
|
+
data: [],
|
|
270
|
+
type: _l7Core.gl.FLOAT
|
|
271
|
+
},
|
|
272
|
+
size: 1,
|
|
273
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
274
|
+
var _feature$size = feature.size,
|
|
275
|
+
size = _feature$size === void 0 ? 5 : _feature$size;
|
|
276
|
+
return Array.isArray(size) ? [size[0] * _this2.meter2coord] : [size * _this2.meter2coord];
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
});
|
|
280
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
281
|
+
name: 'shape',
|
|
282
|
+
type: _l7Core.AttributeType.Attribute,
|
|
283
|
+
descriptor: {
|
|
284
|
+
name: 'a_Shape',
|
|
285
|
+
buffer: {
|
|
286
|
+
usage: _l7Core.gl.DYNAMIC_DRAW,
|
|
287
|
+
data: [],
|
|
288
|
+
type: _l7Core.gl.FLOAT
|
|
289
|
+
},
|
|
290
|
+
size: 1,
|
|
291
|
+
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
292
|
+
var _feature$shape = feature.shape,
|
|
293
|
+
shape = _feature$shape === void 0 ? 2 : _feature$shape;
|
|
294
|
+
|
|
295
|
+
var shape2d = _this2.layer.getLayerConfig().shape2d;
|
|
296
|
+
|
|
297
|
+
var shapeIndex = shape2d.indexOf(shape);
|
|
298
|
+
return [shapeIndex];
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
}
|
|
303
|
+
}]);
|
|
304
|
+
return FillModel;
|
|
305
|
+
}(_BaseModel2.default);
|
|
306
|
+
|
|
307
|
+
exports.default = FillModel;
|
|
308
|
+
//# sourceMappingURL=tile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/point/models/tile.ts"],"names":["FillModel","layer","getLayerConfig","opacity","strokeOpacity","strokeWidth","stroke","offsets","blend","blur","coord","tileOrigin","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_tileOrigin","u_coord","u_isMeter","Number","isMeter","u_blur","u_additive","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_opacity","u_stroke_opacity","u_stroke_width","u_stroke_color","getStrokeColor","u_offsets","isOffsetStatic","styleAttributeService","createAttributesAndIndices","PointFillTriangulation","unit","version","mapService","Version","L7MAP","GLOBEL","calMeter2Coord","buildModels","getSource","extent","minLng","minLat","maxLng","maxLat","center","MAPBOX","window","mapboxgl","MercatorCoordinate","fromLngLat","lng","lat","offsetInMeters","offsetInMercatorCoordinateUnits","meterInMercatorCoordinateUnits","westCoord","x","y","z","westLnglat","toLngLat","meter2coord","m1","meterToCoord","m2","Boolean","mask","maskInside","getShaders","frag","vert","triangulation","buildLayerModel","moduleName","vertexShader","fragmentShader","depth","enable","getBlend","stencil","cull","face","point_tile_frag","point_tile_vert","destroy","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","extrude","extrudeIndex","Array","isArray","shape","shape2d","shapeIndex","indexOf","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IAttribute,\n IElements,\n IEncodeFeature,\n ILayerConfig,\n IModel,\n IModelUniform,\n} from '@antv/l7-core';\nimport { getCullFace, getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IPointLayerStyleOptions } from '../../core/interface';\nimport { PointFillTriangulation } from '../../core/triangulation';\n\nimport point_tile_frag from '../shaders/tile/fill_tile_frag.glsl';\nimport point_tile_vert from '../shaders/tile/fill_tile_vert.glsl';\n\nimport { Version } from '@antv/l7-maps';\nexport default class FillModel extends BaseModel {\n public meter2coord: number = 1;\n private isMeter: boolean = false;\n public getUninforms(): IModelUniform {\n const {\n opacity = 1,\n strokeOpacity = 1,\n strokeWidth = 0,\n stroke = 'rgba(0,0,0,0)',\n offsets = [0, 0],\n blend,\n blur = 0,\n coord = 'lnglat',\n tileOrigin,\n } = this.layer.getLayerConfig() as IPointLayerStyleOptions;\n\n if (\n this.dataTextureTest &&\n this.dataTextureNeedUpdate({\n opacity,\n strokeOpacity,\n strokeWidth,\n stroke,\n offsets,\n })\n ) {\n // 判断当前的样式中哪些是需要进行数据映射的,哪些是常量,同时计算用于构建数据纹理的一些中间变量\n this.judgeStyleAttributes({\n opacity,\n strokeOpacity,\n strokeWidth,\n stroke,\n offsets,\n });\n\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_tileOrigin: tileOrigin || [0, 0],\n u_coord: coord === 'lnglat' ? 1.0 : 0.0,\n\n u_isMeter: Number(this.isMeter),\n u_blur: blur,\n\n u_additive: blend === 'additive' ? 1.0 : 0.0,\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n\n u_opacity: Number(opacity),\n u_stroke_opacity: Number(strokeOpacity),\n u_stroke_width: Number(strokeWidth),\n u_stroke_color: this.getStrokeColor(stroke),\n u_offsets: this.isOffsetStatic(offsets)\n ? (offsets as [number, number])\n : [0, 0],\n };\n }\n\n public getAttribute(): {\n attributes: {\n [attributeName: string]: IAttribute;\n };\n elements: IElements;\n } {\n return this.styleAttributeService.createAttributesAndIndices(\n this.layer.getEncodedData(),\n PointFillTriangulation,\n );\n }\n\n public initModels(): IModel[] {\n const {\n unit = 'l7size',\n } = this.layer.getLayerConfig() as IPointLayerStyleOptions;\n const { version } = this.mapService;\n if (\n unit === 'meter' &&\n version !== Version.L7MAP &&\n version !== Version.GLOBEL\n ) {\n this.isMeter = true;\n this.calMeter2Coord();\n }\n\n return this.buildModels();\n }\n\n /**\n * 计算等面积点图层(unit meter)笛卡尔坐标标度与世界坐标标度的比例\n * @returns\n */\n public calMeter2Coord() {\n const [minLng, minLat, maxLng, maxLat] = this.layer.getSource().extent;\n const center = [(minLng + maxLng) / 2, (minLat + maxLat) / 2];\n\n const { version } = this.mapService;\n if (version === Version.MAPBOX && window.mapboxgl.MercatorCoordinate) {\n const coord = window.mapboxgl.MercatorCoordinate.fromLngLat(\n { lng: center[0], lat: center[1] },\n 0,\n );\n const offsetInMeters = 1;\n const offsetInMercatorCoordinateUnits =\n offsetInMeters * coord.meterInMercatorCoordinateUnits();\n const westCoord = new window.mapboxgl.MercatorCoordinate(\n coord.x - offsetInMercatorCoordinateUnits,\n coord.y,\n coord.z,\n );\n const westLnglat = westCoord.toLngLat();\n\n this.meter2coord = center[0] - westLnglat.lng;\n return;\n }\n\n // @ts-ignore\n const m1 = this.mapService.meterToCoord(center, [minLng, minLat]);\n // @ts-ignore\n const m2 = this.mapService.meterToCoord(center, [\n maxLng === minLng ? maxLng + 0.1 : maxLng,\n maxLat === minLat ? minLat + 0.1 : maxLat,\n ]);\n this.meter2coord = (m1 + m2) / 2;\n if (!Boolean(this.meter2coord)) {\n // Tip: 兼容单个数据导致的 m1、m2 为 NaN\n this.meter2coord = 7.70681090738883;\n }\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as Partial<\n ILayerConfig & IPointLayerStyleOptions\n >;\n const { frag, vert, type } = this.getShaders();\n\n this.layer.triangulation = PointFillTriangulation;\n return [\n this.layer.buildLayerModel({\n // primitive: gl.POINTS,\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation: PointFillTriangulation,\n depth: { enable: false },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n cull: {\n enable: true,\n face: getCullFace(this.mapService.version),\n },\n }),\n ];\n }\n\n /**\n * 根据 animateOption 的值返回对应的 shader 代码\n * @returns\n */\n public getShaders(): { frag: string; vert: string; type: string } {\n return {\n frag: point_tile_frag,\n vert: point_tile_vert,\n type: 'point_fill_tile',\n };\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n }\n\n // overwrite baseModel func\n protected registerBuiltinAttributes() {\n this.styleAttributeService.registerStyleAttribute({\n name: 'extrude',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Extrude',\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: 3,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const extrude = [1, 1, 0, -1, 1, 0, -1, -1, 0, 1, -1, 0];\n\n const extrudeIndex = (attributeIdx % 4) * 3;\n return [\n extrude[extrudeIndex],\n extrude[extrudeIndex + 1],\n extrude[extrudeIndex + 2],\n ];\n },\n },\n });\n\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 = 5 } = feature;\n // console.log('featureIdx', featureIdx, feature)\n return Array.isArray(size)\n ? [size[0] * this.meter2coord]\n : [(size as number) * this.meter2coord];\n },\n },\n });\n\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'shape',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Shape',\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 { shape = 2 } = feature;\n const shape2d = this.layer.getLayerConfig().shape2d as string[];\n const shapeIndex = shape2d.indexOf(shape as string);\n return [shapeIndex];\n },\n },\n });\n }\n}\n"],"file":"tile.js"}
|
package/lib/polygon/index.js
CHANGED
|
@@ -78,6 +78,10 @@ var PolygonLayer = function (_BaseLayer) {
|
|
|
78
78
|
value: function getModelType() {
|
|
79
79
|
var _shapeAttribute$scale;
|
|
80
80
|
|
|
81
|
+
if (this.layerSource.parser.type === 'mvt') {
|
|
82
|
+
return 'vectorpolygon';
|
|
83
|
+
}
|
|
84
|
+
|
|
81
85
|
var shapeAttribute = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
82
86
|
var shape = shapeAttribute === null || shapeAttribute === void 0 ? void 0 : (_shapeAttribute$scale = shapeAttribute.scale) === null || _shapeAttribute$scale === void 0 ? void 0 : _shapeAttribute$scale.field;
|
|
83
87
|
|
|
@@ -91,6 +95,8 @@ var PolygonLayer = function (_BaseLayer) {
|
|
|
91
95
|
return 'ocean';
|
|
92
96
|
} else if (shape === 'line') {
|
|
93
97
|
return 'line';
|
|
98
|
+
} else if (shape === 'tile') {
|
|
99
|
+
return 'tile';
|
|
94
100
|
} else {
|
|
95
101
|
return this.getPointModelType();
|
|
96
102
|
}
|
package/lib/polygon/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/polygon/index.ts"],"names":["PolygonLayer","shape","getModelType","layerModel","PolygonModels","models","initModels","buildModels","properties","opacity","type","minimum","maximum","shapeAttribute","styleAttributeService","getLayerStyleAttribute","scale","field","getPointModelType","layerData","getEncodedData","getLayerConfig","shape2d","shape3d","iconMap","iconService","getIconMap","item","find","fe","hasOwnProperty","indexOf","BaseLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;;;;;IAEqBA,Y;;;;;;;;;;;;;;;uFACG,c;;;;;;WACtB,uBAAqB;AACnB,UAAMC,KAAK,GAAG,KAAKC,YAAL,EAAd;AACA,WAAKC,UAAL,GAAkB,IAAIC,gBAAcH,KAAd,CAAJ,CAAyB,IAAzB,CAAlB;AACA,WAAKI,MAAL,GAAc,KAAKF,UAAL,CAAgBG,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKF,UAAL,CAAgBI,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WAED,wBAA2C;AAAA;;AACzC,
|
|
1
|
+
{"version":3,"sources":["../../src/polygon/index.ts"],"names":["PolygonLayer","shape","getModelType","layerModel","PolygonModels","models","initModels","buildModels","properties","opacity","type","minimum","maximum","layerSource","parser","shapeAttribute","styleAttributeService","getLayerStyleAttribute","scale","field","getPointModelType","layerData","getEncodedData","getLayerConfig","shape2d","shape3d","iconMap","iconService","getIconMap","item","find","fe","hasOwnProperty","indexOf","BaseLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AACA;;AAEA;;;;;;IAEqBA,Y;;;;;;;;;;;;;;;uFACG,c;;;;;;WACtB,uBAAqB;AACnB,UAAMC,KAAK,GAAG,KAAKC,YAAL,EAAd;AACA,WAAKC,UAAL,GAAkB,IAAIC,gBAAcH,KAAd,CAAJ,CAAyB,IAAzB,CAAlB;AACA,WAAKI,MAAL,GAAc,KAAKF,UAAL,CAAgBG,UAAhB,EAAd;AACD;;;WACD,yBAAuB;AACrB,WAAKD,MAAL,GAAc,KAAKF,UAAL,CAAgBI,WAAhB,EAAd;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLC,QAAAA,UAAU,EAAE;AACVC,UAAAA,OAAO,EAAE;AACPC,YAAAA,IAAI,EAAE,QADC;AAEPC,YAAAA,OAAO,EAAE,CAFF;AAGPC,YAAAA,OAAO,EAAE;AAHF;AADC;AADP,OAAP;AASD;;;WAED,wBAA2C;AAAA;;AACzC,UAAI,KAAKC,WAAL,CAAiBC,MAAjB,CAAwBJ,IAAxB,KAAiC,KAArC,EAA4C;AAC1C,eAAO,eAAP;AACD;;AACD,UAAMK,cAAc,GAAG,KAAKC,qBAAL,CAA2BC,sBAA3B,CACrB,OADqB,CAAvB;AAGA,UAAMhB,KAAK,GAAGc,cAAH,aAAGA,cAAH,gDAAGA,cAAc,CAAEG,KAAnB,0DAAG,sBAAuBC,KAArC;;AACA,UAAIlB,KAAK,KAAK,MAAd,EAAsB;AACpB,eAAO,MAAP;AACD,OAFD,MAEO,IAAIA,KAAK,KAAK,SAAd,EAAyB;AAC9B,eAAO,SAAP;AACD,OAFM,MAEA,IAAIA,KAAK,KAAK,OAAd,EAAuB;AAC5B,eAAO,OAAP;AACD,OAFM,MAEA,IAAIA,KAAK,KAAK,OAAd,EAAuB;AAC5B,eAAO,OAAP;AACD,OAFM,MAEA,IAAIA,KAAK,KAAK,MAAd,EAAsB;AAC3B,eAAO,MAAP;AACD,OAFM,MAEA,IAAIA,KAAK,KAAK,MAAd,EAAsB;AAC3B,eAAO,MAAP;AACD,OAFM,MAEA;AACL,eAAO,KAAKmB,iBAAL,EAAP;AACD;AACF;;;WACD,6BAAgD;AAG9C,UAAMC,SAAS,GAAG,KAAKC,cAAL,EAAlB;;AACA,iCAA6B,KAAKC,cAAL,EAA7B;AAAA,UAAQC,OAAR,wBAAQA,OAAR;AAAA,UAAiBC,OAAjB,wBAAiBA,OAAjB;;AACA,UAAMC,OAAO,GAAG,KAAKC,WAAL,CAAiBC,UAAjB,EAAhB;AACA,UAAMC,IAAI,GAAGR,SAAS,CAACS,IAAV,CAAe,UAACC,EAAD,EAAwB;AAClD,eAAOA,EAAE,CAACC,cAAH,CAAkB,OAAlB,CAAP;AACD,OAFY,CAAb;;AAGA,UAAI,CAACH,IAAL,EAAW;AACT,eAAO,MAAP;AACD,OAFD,MAEO;AACL,YAAM5B,KAAK,GAAG4B,IAAI,CAAC5B,KAAnB;;AACA,YAAIA,KAAK,KAAK,KAAd,EAAqB;AACnB,iBAAO,cAAP;AACD;;AACD,YAAI,CAAAuB,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAES,OAAT,CAAiBhC,KAAjB,OAAsC,CAAC,CAA3C,EAA8C;AAC5C,iBAAO,YAAP;AACD;;AACD,YAAI,CAAAwB,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEQ,OAAT,CAAiBhC,KAAjB,OAAsC,CAAC,CAA3C,EAA8C;AAC5C,iBAAO,eAAP;AACD;;AACD,YAAIyB,OAAO,CAACM,cAAR,CAAuB/B,KAAvB,CAAJ,EAA6C;AAC3C,iBAAO,aAAP;AACD;;AACD,eAAO,MAAP;AACD;AACF;;;EAzEuCiC,mB","sourcesContent":["import { IEncodeFeature } from '@antv/l7-core';\nimport BaseLayer from '../core/BaseLayer';\nimport { IPolygonLayerStyleOptions } from '../core/interface';\nimport PolygonModels, { PolygonModelType } from './models/';\n\nexport default class PolygonLayer extends BaseLayer<IPolygonLayerStyleOptions> {\n public type: string = 'PolygonLayer';\n public buildModels() {\n const shape = this.getModelType();\n this.layerModel = new PolygonModels[shape](this);\n this.models = this.layerModel.initModels();\n }\n public rebuildModels() {\n this.models = this.layerModel.buildModels();\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n\n protected getModelType(): PolygonModelType {\n if (this.layerSource.parser.type === 'mvt') {\n return 'vectorpolygon';\n }\n const shapeAttribute = this.styleAttributeService.getLayerStyleAttribute(\n 'shape',\n );\n const shape = shapeAttribute?.scale?.field as PolygonModelType;\n if (shape === 'fill') {\n return 'fill';\n } else if (shape === 'extrude') {\n return 'extrude';\n } else if (shape === 'water') {\n return 'water';\n } else if (shape === 'ocean') {\n return 'ocean';\n } else if (shape === 'line') {\n return 'line';\n } else if (shape === 'tile') {\n return 'tile';\n } else {\n return this.getPointModelType();\n }\n }\n protected getPointModelType(): PolygonModelType {\n // pointlayer\n // 2D、 3d、 shape、image、text、normal、\n const layerData = this.getEncodedData();\n const { shape2d, shape3d } = this.getLayerConfig();\n const iconMap = this.iconService.getIconMap();\n const item = layerData.find((fe: IEncodeFeature) => {\n return fe.hasOwnProperty('shape');\n });\n if (!item) {\n return 'fill';\n } else {\n const shape = item.shape;\n if (shape === 'dot') {\n return 'point_normal';\n }\n if (shape2d?.indexOf(shape as string) !== -1) {\n return 'point_fill';\n }\n if (shape3d?.indexOf(shape as string) !== -1) {\n return 'point_extrude';\n }\n if (iconMap.hasOwnProperty(shape as string)) {\n return 'point_image';\n }\n return 'text';\n }\n }\n}\n"],"file":"index.js"}
|
|
@@ -160,11 +160,7 @@ var ExtrudeModel = function (_BaseModel) {
|
|
|
160
160
|
vertexShader: vert,
|
|
161
161
|
fragmentShader: frag,
|
|
162
162
|
triangulation: _triangulation.PolygonExtrudeTriangulation,
|
|
163
|
-
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
164
|
-
cull: {
|
|
165
|
-
enable: true,
|
|
166
|
-
face: _l7Core.gl.BACK
|
|
167
|
-
}
|
|
163
|
+
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
168
164
|
})];
|
|
169
165
|
}
|
|
170
166
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/extrude.ts"],"names":["ExtrudeModel","layer","getLayerConfig","opacity","heightfixed","raisingHeight","topsurface","sidesurface","sourceColor","targetColor","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","useLinearColor","sourceColorArr","targetColorArr","u_topsurface","Number","u_sidesurface","u_heightfixed","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","u_opacity","u_linearColor","u_sourceColor","u_targetColor","u_texture","texture","loadTexture","buildModels","mask","maskInside","getShaders","frag","vert","buildLayerModel","moduleName","vertexShader","fragmentShader","triangulation","PolygonExtrudeTriangulation","stencil","cull","enable","face","BACK","pickLight","mapTexture","polygonExtrudeTexFrag","polygonExtrudeTexVert","polygonExtrudePickLightFrag","polygonExtrudePickLightVert","polygonExtrudeFrag","polygonExtrudeVert","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","DYNAMIC_DRAW","Array","isArray","rendererService","image","Image","crossOrigin","src","onload","wrapS","CLAMP_TO_EDGE","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers","BaseModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AAEA;;AAEA;;;;;;;;;;;;;IAYqBA,Y;;;;;;;;;;;;;;;;;;;;;WAEnB,wBAAsB;AACpB,iBAQI,KAAKC,KAAL,CAAWC,cAAX,EARJ;AAAA,8BACEC,OADF;AAAA,UACEA,OADF,6BACY,CADZ;AAAA,kCAEEC,WAFF;AAAA,UAEEA,WAFF,iCAEgB,KAFhB;AAAA,oCAGEC,aAHF;AAAA,UAGEA,aAHF,mCAGkB,CAHlB;AAAA,iCAIEC,UAJF;AAAA,UAIEA,UAJF,gCAIe,IAJf;AAAA,kCAKEC,WALF;AAAA,UAKEA,WALF,iCAKgB,IALhB;AAAA,UAMEC,WANF,QAMEA,WANF;AAAA,UAOEC,WAPF,QAOEA,WAPF;;AAUA,UAAI,KAAKC,eAAL,IAAwB,KAAKC,qBAAL,CAA2B;AAAER,QAAAA,OAAO,EAAPA;AAAF,OAA3B,CAA5B,EAAqE;AACnE,aAAKS,oBAAL,CAA0B;AAAET,UAAAA,OAAO,EAAPA;AAAF,SAA1B;AACA,YAAMU,UAAU,GAAG,KAAKZ,KAAL,CAAWa,cAAX,EAAnB;;AACA,iCAAgC,KAAKC,YAAL,CAC9B,KAAKC,UADyB,EAE9BH,UAF8B,EAG9B,KAAKI,cAHyB,CAAhC;AAAA,YAAQC,IAAR,sBAAQA,IAAR;AAAA,YAAcC,KAAd,sBAAcA,KAAd;AAAA,YAAqBC,MAArB,sBAAqBA,MAArB;;AAKA,aAAKC,QAAL,GAAgBD,MAAhB;AAEA,aAAKE,WAAL,GACE,KAAKN,UAAL,GAAkB,CAAlB,IAAuBE,IAAI,CAACK,MAAL,GAAc,CAArC,GACI,KAAKC,eAAL,CAAqB;AACnBC,UAAAA,KAAK,EAAE,IADY;AAEnBP,UAAAA,IAAI,EAAJA,IAFmB;AAGnBQ,UAAAA,MAAM,EAAEC,WAAGC,SAHQ;AAInBC,UAAAA,IAAI,EAAEF,WAAGG,KAJU;AAKnBX,UAAAA,KAAK,EAALA,KALmB;AAMnBC,UAAAA,MAAM,EAANA;AANmB,SAArB,CADJ,GASI,KAAKI,eAAL,CAAqB;AACnBC,UAAAA,KAAK,EAAE,IADY;AAEnBP,UAAAA,IAAI,EAAE,CAAC,CAAD,CAFa;AAGnBQ,UAAAA,MAAM,EAAEC,WAAGC,SAHQ;AAInBC,UAAAA,IAAI,EAAEF,WAAGG,KAJU;AAKnBX,UAAAA,KAAK,EAAE,CALY;AAMnBC,UAAAA,MAAM,EAAE;AANW,SAArB,CAVN;AAkBD;;AAGD,UAAIW,cAAc,GAAG,CAArB;AACA,UAAIC,cAAc,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAArB;AACA,UAAIC,cAAc,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAArB;;AACA,UAAIzB,WAAW,IAAIC,WAAnB,EAAgC;AAC9BuB,QAAAA,cAAc,GAAG,sBAAQxB,WAAR,CAAjB;AACAyB,QAAAA,cAAc,GAAG,sBAAQxB,WAAR,CAAjB;AACAsB,QAAAA,cAAc,GAAG,CAAjB;AACD;;AAED,aAAO;AAELG,QAAAA,YAAY,EAAEC,MAAM,CAAC7B,UAAD,CAFf;AAGL8B,QAAAA,aAAa,EAAED,MAAM,CAAC5B,WAAD,CAHhB;AAKL8B,QAAAA,aAAa,EAAEF,MAAM,CAAC/B,WAAD,CALhB;AAMLkC,QAAAA,aAAa,EAAE,KAAKhB,WANf;AAOLiB,QAAAA,gBAAgB,EAAE,KAAKC,iBAAL,EAPb;AAQLC,QAAAA,eAAe,EAAEN,MAAM,CAAC9B,aAAD,CARlB;AASLqC,QAAAA,SAAS,EAAE,wBAASvC,OAAT,IAAoBA,OAApB,GAA8B,GATpC;AAYLwC,QAAAA,aAAa,EAAEZ,cAZV;AAaLa,QAAAA,aAAa,EAAEZ,cAbV;AAcLa,QAAAA,aAAa,EAAEZ,cAdV;AAeLa,QAAAA,SAAS,EAAE,KAAKC;AAfX,OAAP;AAiBD;;;WAED,sBAA8B;AAC5B,WAAKC,WAAL;AACA,aAAO,KAAKC,WAAL,EAAP;AACD;;;WAED,uBAA+B;AAC7B,kBAGI,KAAKhD,KAAL,CAAWC,cAAX,EAHJ;AAAA,6BACEgD,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;;AAKA,6BAA6B,KAAKC,UAAL,EAA7B;AAAA,UAAQC,IAAR,oBAAQA,IAAR;AAAA,UAAcC,IAAd,oBAAcA,IAAd;AAAA,UAAoBzB,IAApB,oBAAoBA,IAApB;;AAEA,aAAO,CACL,KAAK5B,KAAL,CAAWsD,eAAX,CAA2B;AACzBC,QAAAA,UAAU,EAAE3B,IADa;AAEzB4B,QAAAA,YAAY,EAAEH,IAFW;AAGzBI,QAAAA,cAAc,EAAEL,IAHS;AAIzBM,QAAAA,aAAa,EAAEC,0CAJU;AAKzBC,QAAAA,OAAO,EAAE,sBAAQX,IAAR,EAAcC,UAAd,CALgB;AAMzBW,QAAAA,IAAI,EAAE;AACJC,UAAAA,MAAM,EAAE,IADJ;AAEJC,UAAAA,IAAI,EAAErC,WAAGsC;AAFL;AANmB,OAA3B,CADK,CAAP;AAaD;;;WAED,sBAAoB;AAClB,kBAGI,KAAKhE,KAAL,CAAWC,cAAX,EAHJ;AAAA,UACEgE,SADF,SACEA,SADF;AAAA,UAEEC,UAFF,SAEEA,UAFF;;AAIA,UAAIA,UAAJ,EAAgB;AACd,eAAO;AACLd,UAAAA,IAAI,EAAEe,qBADD;AAELd,UAAAA,IAAI,EAAEe,qBAFD;AAGLxC,UAAAA,IAAI,EAAE;AAHD,SAAP;AAKD;;AACD,UAAIqC,SAAJ,EAAe;AACb,eAAO;AACLb,UAAAA,IAAI,EAAEiB,2BADD;AAELhB,UAAAA,IAAI,EAAEiB,2BAFD;AAGL1C,UAAAA,IAAI,EAAE;AAHD,SAAP;AAKD,OAND,MAMO;AACL,eAAO;AACLwB,UAAAA,IAAI,EAAEmB,kBADD;AAELlB,UAAAA,IAAI,EAAEmB,kBAFD;AAGL5C,UAAAA,IAAI,EAAE;AAHD,SAAP;AAKD;AACF;;;WAED,uBAAqB;AAAA;;AACnB,gCAAKP,WAAL,wEAAkBoD,OAAlB;AACA,4BAAK3B,OAAL,gEAAc2B,OAAd;AACD;;;WAED,qCAAsC;AACpC,UAAMC,IAAI,GAAG,KAAK1E,KAAL,CAAW2E,SAAX,GAAuBC,MAApC;;AACA,+CAAyCF,IAAzC;AAAA,UAAOG,MAAP;AAAA,UAAeC,MAAf;AAAA,UAAuBC,MAAvB;AAAA,UAA+BC,MAA/B;;AACA,UAAMC,MAAM,GAAGF,MAAM,GAAGF,MAAxB;AACA,UAAMK,MAAM,GAAGF,MAAM,GAAGF,MAAxB;AAEA,WAAKK,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,KAD0C;AAEhDzD,QAAAA,IAAI,EAAE0D,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,OADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAEhE,WAAGiE,WAFJ;AAGN1E,YAAAA,IAAI,EAAE,EAHA;AAINW,YAAAA,IAAI,EAAEF,WAAGG;AAJH,WAFE;AAQV+D,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKNC,MALM,EAMH;AACH,gBAAMC,GAAG,GAAGH,MAAM,CAAC,CAAD,CAAlB;AACA,gBAAMI,GAAG,GAAGJ,MAAM,CAAC,CAAD,CAAlB;AACA,mBAAO,CAAC,CAACG,GAAG,GAAGtB,MAAP,IAAiBI,MAAlB,EAA0B,CAACmB,GAAG,GAAGtB,MAAP,IAAiBI,MAA3C,EAAmDc,MAAM,CAAC,CAAD,CAAzD,CAAP;AACD;AAnBS;AAHoC,OAAlD;AA0BA,WAAKb,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,QAD0C;AAEhDzD,QAAAA,IAAI,EAAE0D,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,UADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAEhE,WAAGiE,WAFJ;AAGN1E,YAAAA,IAAI,EAAE,EAHA;AAINW,YAAAA,IAAI,EAAEF,WAAGG;AAJH,WAFE;AAQV+D,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKNC,MALM,EAMH;AACH,mBAAOA,MAAP;AACD;AAjBS;AAHoC,OAAlD;AAwBA,WAAKf,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,MAD0C;AAEhDzD,QAAAA,IAAI,EAAE0D,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,QADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAEhE,WAAG2E,YAFJ;AAGNpF,YAAAA,IAAI,EAAE,EAHA;AAINW,YAAAA,IAAI,EAAEF,WAAGG;AAJH,WAFE;AAQV+D,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKH;AACH,gCAAsBH,OAAtB,CAAQF,IAAR;AAAA,gBAAQA,IAAR,8BAAe,EAAf;AACA,mBAAOU,KAAK,CAACC,OAAN,CAAcX,IAAd,IAAsB,CAACA,IAAI,CAAC,CAAD,CAAL,CAAtB,GAAkC,CAACA,IAAD,CAAzC;AACD;AAjBS;AAHoC,OAAlD;AAuBD;;;WAED,uBAAsB;AAAA;;AACpB,kBAEI,KAAK5F,KAAL,CAAWC,cAAX,EAFJ;AAAA,UACEiE,UADF,SACEA,UADF;;AAIA,UAAQ3C,eAAR,GAA4B,KAAKiF,eAAjC,CAAQjF,eAAR;AACA,WAAKuB,OAAL,GAAevB,eAAe,CAAC;AAC7BJ,QAAAA,MAAM,EAAE,CADqB;AAE7BD,QAAAA,KAAK,EAAE;AAFsB,OAAD,CAA9B;;AAIA,UAAIgD,UAAJ,EAAgB;AACd,YAAMuC,KAAK,GAAG,IAAIC,KAAJ,EAAd;AACAD,QAAAA,KAAK,CAACE,WAAN,GAAoB,EAApB;AACAF,QAAAA,KAAK,CAACG,GAAN,GAAY1C,UAAZ;;AAEAuC,QAAAA,KAAK,CAACI,MAAN,GAAe,YAAM;AACnB,UAAA,MAAI,CAAC/D,OAAL,GAAevB,eAAe,CAAC;AAC7BN,YAAAA,IAAI,EAAEwF,KADuB;AAE7BvF,YAAAA,KAAK,EAAEuF,KAAK,CAACvF,KAFgB;AAG7BC,YAAAA,MAAM,EAAEsF,KAAK,CAACtF,MAHe;AAI7B2F,YAAAA,KAAK,EAAEpF,WAAGqF,aAJmB;AAK7BC,YAAAA,KAAK,EAAEtF,WAAGqF,aALmB;AAM7BE,YAAAA,GAAG,EAAEvF,WAAGwF,MANqB;AAO7BC,YAAAA,GAAG,EAAEzF,WAAGwF;AAPqB,WAAD,CAA9B;;AASA,UAAA,MAAI,CAACE,YAAL,CAAkBC,qBAAlB;;AACA,UAAA,MAAI,CAACD,YAAL,CAAkBE,YAAlB;AACD,SAZD;AAaD;AACF;;;EAlPuCC,mB","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, rgb2arr } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { PolygonExtrudeTriangulation } from '../../core/triangulation';\nimport polygonExtrudeFrag from '../shaders/extrude/polygon_extrude_frag.glsl';\n// extrude\nimport polygonExtrudeVert from '../shaders/extrude/polygon_extrude_vert.glsl';\nimport polygonExtrudeTexFrag from '../shaders/extrude/polygon_extrudetex_frag.glsl';\n// texture\nimport polygonExtrudeTexVert from '../shaders/extrude/polygon_extrudetex_vert.glsl';\n// extrude picking\n\nimport polygonExtrudePickLightFrag from '../shaders/extrude/polygon_extrude_picklight_frag.glsl';\nimport polygonExtrudePickLightVert from '../shaders/extrude/polygon_extrude_picklight_vert.glsl';\n\nexport default class ExtrudeModel extends BaseModel {\n protected texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n heightfixed = false,\n raisingHeight = 0,\n topsurface = true,\n sidesurface = true,\n sourceColor,\n targetColor,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n\n // 转化渐变色\n let useLinearColor = 0; // 默认不生效\n let sourceColorArr = [1, 1, 1, 1];\n let targetColorArr = [1, 1, 1, 1];\n if (sourceColor && targetColor) {\n sourceColorArr = rgb2arr(sourceColor);\n targetColorArr = rgb2arr(targetColor);\n useLinearColor = 1;\n }\n\n return {\n // 控制侧面和顶面的显示隐藏\n u_topsurface: Number(topsurface),\n u_sidesurface: Number(sidesurface),\n\n u_heightfixed: Number(heightfixed),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_raisingHeight: Number(raisingHeight),\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n\n // 渐变色支持参数\n u_linearColor: useLinearColor,\n u_sourceColor: sourceColorArr,\n u_targetColor: targetColorArr,\n u_texture: this.texture,\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { frag, vert, type } = this.getShaders();\n\n return [\n this.layer.buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation: PolygonExtrudeTriangulation,\n stencil: getMask(mask, maskInside),\n cull: {\n enable: true,\n face: gl.BACK, // gl.FRONT | gl.BACK;\n },\n }),\n ];\n }\n\n public getShaders() {\n const {\n pickLight,\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (mapTexture) {\n return {\n frag: polygonExtrudeTexFrag,\n vert: polygonExtrudeTexVert,\n type: 'polygonExtrudeTexture',\n };\n }\n if (pickLight) {\n return {\n frag: polygonExtrudePickLightFrag,\n vert: polygonExtrudePickLightVert,\n type: 'polygonExtrudePickLight',\n };\n } else {\n return {\n frag: polygonExtrudeFrag,\n vert: polygonExtrudeVert,\n type: 'polygonExtrude',\n };\n }\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n this.texture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'uvs',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uvs',\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 const lng = vertex[0];\n const lat = vertex[1];\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen, vertex[4]];\n },\n },\n });\n // point layer size;\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: '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 = 10 } = feature;\n return Array.isArray(size) ? [size[0]] : [size as number];\n },\n },\n });\n }\n\n private loadTexture() {\n const {\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n if (mapTexture) {\n const image = new Image();\n image.crossOrigin = '';\n image.src = mapTexture;\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n }\n}\n"],"file":"extrude.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/extrude.ts"],"names":["ExtrudeModel","layer","getLayerConfig","opacity","heightfixed","raisingHeight","topsurface","sidesurface","sourceColor","targetColor","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","useLinearColor","sourceColorArr","targetColorArr","u_topsurface","Number","u_sidesurface","u_heightfixed","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","u_opacity","u_linearColor","u_sourceColor","u_targetColor","u_texture","texture","loadTexture","buildModels","mask","maskInside","getShaders","frag","vert","buildLayerModel","moduleName","vertexShader","fragmentShader","triangulation","PolygonExtrudeTriangulation","stencil","pickLight","mapTexture","polygonExtrudeTexFrag","polygonExtrudeTexVert","polygonExtrudePickLightFrag","polygonExtrudePickLightVert","polygonExtrudeFrag","polygonExtrudeVert","destroy","bbox","getSource","extent","minLng","minLat","maxLng","maxLat","lngLen","latLen","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","lng","lat","DYNAMIC_DRAW","Array","isArray","rendererService","image","Image","crossOrigin","src","onload","wrapS","CLAMP_TO_EDGE","wrapT","min","LINEAR","mag","layerService","updateLayerRenderList","renderLayers","BaseModel"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AAEA;;AAEA;;;;;;;;;;;;;IAYqBA,Y;;;;;;;;;;;;;;;;;;;;;WAEnB,wBAAsB;AACpB,iBAQI,KAAKC,KAAL,CAAWC,cAAX,EARJ;AAAA,8BACEC,OADF;AAAA,UACEA,OADF,6BACY,CADZ;AAAA,kCAEEC,WAFF;AAAA,UAEEA,WAFF,iCAEgB,KAFhB;AAAA,oCAGEC,aAHF;AAAA,UAGEA,aAHF,mCAGkB,CAHlB;AAAA,iCAIEC,UAJF;AAAA,UAIEA,UAJF,gCAIe,IAJf;AAAA,kCAKEC,WALF;AAAA,UAKEA,WALF,iCAKgB,IALhB;AAAA,UAMEC,WANF,QAMEA,WANF;AAAA,UAOEC,WAPF,QAOEA,WAPF;;AAUA,UAAI,KAAKC,eAAL,IAAwB,KAAKC,qBAAL,CAA2B;AAAER,QAAAA,OAAO,EAAPA;AAAF,OAA3B,CAA5B,EAAqE;AACnE,aAAKS,oBAAL,CAA0B;AAAET,UAAAA,OAAO,EAAPA;AAAF,SAA1B;AACA,YAAMU,UAAU,GAAG,KAAKZ,KAAL,CAAWa,cAAX,EAAnB;;AACA,iCAAgC,KAAKC,YAAL,CAC9B,KAAKC,UADyB,EAE9BH,UAF8B,EAG9B,KAAKI,cAHyB,CAAhC;AAAA,YAAQC,IAAR,sBAAQA,IAAR;AAAA,YAAcC,KAAd,sBAAcA,KAAd;AAAA,YAAqBC,MAArB,sBAAqBA,MAArB;;AAKA,aAAKC,QAAL,GAAgBD,MAAhB;AAEA,aAAKE,WAAL,GACE,KAAKN,UAAL,GAAkB,CAAlB,IAAuBE,IAAI,CAACK,MAAL,GAAc,CAArC,GACI,KAAKC,eAAL,CAAqB;AACnBC,UAAAA,KAAK,EAAE,IADY;AAEnBP,UAAAA,IAAI,EAAJA,IAFmB;AAGnBQ,UAAAA,MAAM,EAAEC,WAAGC,SAHQ;AAInBC,UAAAA,IAAI,EAAEF,WAAGG,KAJU;AAKnBX,UAAAA,KAAK,EAALA,KALmB;AAMnBC,UAAAA,MAAM,EAANA;AANmB,SAArB,CADJ,GASI,KAAKI,eAAL,CAAqB;AACnBC,UAAAA,KAAK,EAAE,IADY;AAEnBP,UAAAA,IAAI,EAAE,CAAC,CAAD,CAFa;AAGnBQ,UAAAA,MAAM,EAAEC,WAAGC,SAHQ;AAInBC,UAAAA,IAAI,EAAEF,WAAGG,KAJU;AAKnBX,UAAAA,KAAK,EAAE,CALY;AAMnBC,UAAAA,MAAM,EAAE;AANW,SAArB,CAVN;AAkBD;;AAGD,UAAIW,cAAc,GAAG,CAArB;AACA,UAAIC,cAAc,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAArB;AACA,UAAIC,cAAc,GAAG,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,EAAU,CAAV,CAArB;;AACA,UAAIzB,WAAW,IAAIC,WAAnB,EAAgC;AAC9BuB,QAAAA,cAAc,GAAG,sBAAQxB,WAAR,CAAjB;AACAyB,QAAAA,cAAc,GAAG,sBAAQxB,WAAR,CAAjB;AACAsB,QAAAA,cAAc,GAAG,CAAjB;AACD;;AAED,aAAO;AAELG,QAAAA,YAAY,EAAEC,MAAM,CAAC7B,UAAD,CAFf;AAGL8B,QAAAA,aAAa,EAAED,MAAM,CAAC5B,WAAD,CAHhB;AAKL8B,QAAAA,aAAa,EAAEF,MAAM,CAAC/B,WAAD,CALhB;AAMLkC,QAAAA,aAAa,EAAE,KAAKhB,WANf;AAOLiB,QAAAA,gBAAgB,EAAE,KAAKC,iBAAL,EAPb;AAQLC,QAAAA,eAAe,EAAEN,MAAM,CAAC9B,aAAD,CARlB;AASLqC,QAAAA,SAAS,EAAE,wBAASvC,OAAT,IAAoBA,OAApB,GAA8B,GATpC;AAYLwC,QAAAA,aAAa,EAAEZ,cAZV;AAaLa,QAAAA,aAAa,EAAEZ,cAbV;AAcLa,QAAAA,aAAa,EAAEZ,cAdV;AAeLa,QAAAA,SAAS,EAAE,KAAKC;AAfX,OAAP;AAiBD;;;WAED,sBAA8B;AAC5B,WAAKC,WAAL;AACA,aAAO,KAAKC,WAAL,EAAP;AACD;;;WAED,uBAA+B;AAC7B,kBAGI,KAAKhD,KAAL,CAAWC,cAAX,EAHJ;AAAA,6BACEgD,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;;AAKA,6BAA6B,KAAKC,UAAL,EAA7B;AAAA,UAAQC,IAAR,oBAAQA,IAAR;AAAA,UAAcC,IAAd,oBAAcA,IAAd;AAAA,UAAoBzB,IAApB,oBAAoBA,IAApB;;AAEA,aAAO,CACL,KAAK5B,KAAL,CAAWsD,eAAX,CAA2B;AACzBC,QAAAA,UAAU,EAAE3B,IADa;AAEzB4B,QAAAA,YAAY,EAAEH,IAFW;AAGzBI,QAAAA,cAAc,EAAEL,IAHS;AAIzBM,QAAAA,aAAa,EAAEC,0CAJU;AAKzBC,QAAAA,OAAO,EAAE,sBAAQX,IAAR,EAAcC,UAAd;AALgB,OAA3B,CADK,CAAP;AASD;;;WAED,sBAAoB;AAClB,kBAGI,KAAKlD,KAAL,CAAWC,cAAX,EAHJ;AAAA,UACE4D,SADF,SACEA,SADF;AAAA,UAEEC,UAFF,SAEEA,UAFF;;AAIA,UAAIA,UAAJ,EAAgB;AACd,eAAO;AACLV,UAAAA,IAAI,EAAEW,qBADD;AAELV,UAAAA,IAAI,EAAEW,qBAFD;AAGLpC,UAAAA,IAAI,EAAE;AAHD,SAAP;AAKD;;AACD,UAAIiC,SAAJ,EAAe;AACb,eAAO;AACLT,UAAAA,IAAI,EAAEa,2BADD;AAELZ,UAAAA,IAAI,EAAEa,2BAFD;AAGLtC,UAAAA,IAAI,EAAE;AAHD,SAAP;AAKD,OAND,MAMO;AACL,eAAO;AACLwB,UAAAA,IAAI,EAAEe,kBADD;AAELd,UAAAA,IAAI,EAAEe,kBAFD;AAGLxC,UAAAA,IAAI,EAAE;AAHD,SAAP;AAKD;AACF;;;WAED,uBAAqB;AAAA;;AACnB,gCAAKP,WAAL,wEAAkBgD,OAAlB;AACA,4BAAKvB,OAAL,gEAAcuB,OAAd;AACD;;;WAED,qCAAsC;AACpC,UAAMC,IAAI,GAAG,KAAKtE,KAAL,CAAWuE,SAAX,GAAuBC,MAApC;;AACA,+CAAyCF,IAAzC;AAAA,UAAOG,MAAP;AAAA,UAAeC,MAAf;AAAA,UAAuBC,MAAvB;AAAA,UAA+BC,MAA/B;;AACA,UAAMC,MAAM,GAAGF,MAAM,GAAGF,MAAxB;AACA,UAAMK,MAAM,GAAGF,MAAM,GAAGF,MAAxB;AAEA,WAAKK,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,KAD0C;AAEhDrD,QAAAA,IAAI,EAAEsD,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,OADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAE5D,WAAG6D,WAFJ;AAGNtE,YAAAA,IAAI,EAAE,EAHA;AAINW,YAAAA,IAAI,EAAEF,WAAGG;AAJH,WAFE;AAQV2D,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKNC,MALM,EAMH;AACH,gBAAMC,GAAG,GAAGH,MAAM,CAAC,CAAD,CAAlB;AACA,gBAAMI,GAAG,GAAGJ,MAAM,CAAC,CAAD,CAAlB;AACA,mBAAO,CAAC,CAACG,GAAG,GAAGtB,MAAP,IAAiBI,MAAlB,EAA0B,CAACmB,GAAG,GAAGtB,MAAP,IAAiBI,MAA3C,EAAmDc,MAAM,CAAC,CAAD,CAAzD,CAAP;AACD;AAnBS;AAHoC,OAAlD;AA0BA,WAAKb,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,QAD0C;AAEhDrD,QAAAA,IAAI,EAAEsD,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,UADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAE5D,WAAG6D,WAFJ;AAGNtE,YAAAA,IAAI,EAAE,EAHA;AAINW,YAAAA,IAAI,EAAEF,WAAGG;AAJH,WAFE;AAQV2D,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKNC,MALM,EAMH;AACH,mBAAOA,MAAP;AACD;AAjBS;AAHoC,OAAlD;AAwBA,WAAKf,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,MAD0C;AAEhDrD,QAAAA,IAAI,EAAEsD,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVH,UAAAA,IAAI,EAAE,QADI;AAEVI,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAE5D,WAAGuE,YAFJ;AAGNhF,YAAAA,IAAI,EAAE,EAHA;AAINW,YAAAA,IAAI,EAAEF,WAAGG;AAJH,WAFE;AAQV2D,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBACNC,OADM,EAENC,UAFM,EAGNC,MAHM,EAINC,YAJM,EAKH;AACH,gCAAsBH,OAAtB,CAAQF,IAAR;AAAA,gBAAQA,IAAR,8BAAe,EAAf;AACA,mBAAOU,KAAK,CAACC,OAAN,CAAcX,IAAd,IAAsB,CAACA,IAAI,CAAC,CAAD,CAAL,CAAtB,GAAkC,CAACA,IAAD,CAAzC;AACD;AAjBS;AAHoC,OAAlD;AAuBD;;;WAED,uBAAsB;AAAA;;AACpB,kBAEI,KAAKxF,KAAL,CAAWC,cAAX,EAFJ;AAAA,UACE6D,UADF,SACEA,UADF;;AAIA,UAAQvC,eAAR,GAA4B,KAAK6E,eAAjC,CAAQ7E,eAAR;AACA,WAAKuB,OAAL,GAAevB,eAAe,CAAC;AAC7BJ,QAAAA,MAAM,EAAE,CADqB;AAE7BD,QAAAA,KAAK,EAAE;AAFsB,OAAD,CAA9B;;AAIA,UAAI4C,UAAJ,EAAgB;AACd,YAAMuC,KAAK,GAAG,IAAIC,KAAJ,EAAd;AACAD,QAAAA,KAAK,CAACE,WAAN,GAAoB,EAApB;AACAF,QAAAA,KAAK,CAACG,GAAN,GAAY1C,UAAZ;;AAEAuC,QAAAA,KAAK,CAACI,MAAN,GAAe,YAAM;AACnB,UAAA,MAAI,CAAC3D,OAAL,GAAevB,eAAe,CAAC;AAC7BN,YAAAA,IAAI,EAAEoF,KADuB;AAE7BnF,YAAAA,KAAK,EAAEmF,KAAK,CAACnF,KAFgB;AAG7BC,YAAAA,MAAM,EAAEkF,KAAK,CAAClF,MAHe;AAI7BuF,YAAAA,KAAK,EAAEhF,WAAGiF,aAJmB;AAK7BC,YAAAA,KAAK,EAAElF,WAAGiF,aALmB;AAM7BE,YAAAA,GAAG,EAAEnF,WAAGoF,MANqB;AAO7BC,YAAAA,GAAG,EAAErF,WAAGoF;AAPqB,WAAD,CAA9B;;AASA,UAAA,MAAI,CAACE,YAAL,CAAkBC,qBAAlB;;AACA,UAAA,MAAI,CAACD,YAAL,CAAkBE,YAAlB;AACD,SAZD;AAaD;AACF;;;EA9OuCC,mB","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n ITexture2D,\n} from '@antv/l7-core';\nimport { getMask, rgb2arr } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport { PolygonExtrudeTriangulation } from '../../core/triangulation';\nimport polygonExtrudeFrag from '../shaders/extrude/polygon_extrude_frag.glsl';\n// extrude\nimport polygonExtrudeVert from '../shaders/extrude/polygon_extrude_vert.glsl';\nimport polygonExtrudeTexFrag from '../shaders/extrude/polygon_extrudetex_frag.glsl';\n// texture\nimport polygonExtrudeTexVert from '../shaders/extrude/polygon_extrudetex_vert.glsl';\n// extrude picking\n\nimport polygonExtrudePickLightFrag from '../shaders/extrude/polygon_extrude_picklight_frag.glsl';\nimport polygonExtrudePickLightVert from '../shaders/extrude/polygon_extrude_picklight_vert.glsl';\n\nexport default class ExtrudeModel extends BaseModel {\n protected texture: ITexture2D;\n public getUninforms() {\n const {\n opacity = 1,\n heightfixed = false,\n raisingHeight = 0,\n topsurface = true,\n sidesurface = true,\n sourceColor,\n targetColor,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n\n // 转化渐变色\n let useLinearColor = 0; // 默认不生效\n let sourceColorArr = [1, 1, 1, 1];\n let targetColorArr = [1, 1, 1, 1];\n if (sourceColor && targetColor) {\n sourceColorArr = rgb2arr(sourceColor);\n targetColorArr = rgb2arr(targetColor);\n useLinearColor = 1;\n }\n\n return {\n // 控制侧面和顶面的显示隐藏\n u_topsurface: Number(topsurface),\n u_sidesurface: Number(sidesurface),\n\n u_heightfixed: Number(heightfixed),\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n u_raisingHeight: Number(raisingHeight),\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n\n // 渐变色支持参数\n u_linearColor: useLinearColor,\n u_sourceColor: sourceColorArr,\n u_targetColor: targetColorArr,\n u_texture: this.texture,\n };\n }\n\n public initModels(): IModel[] {\n this.loadTexture();\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { frag, vert, type } = this.getShaders();\n\n return [\n this.layer.buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation: PolygonExtrudeTriangulation,\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public getShaders() {\n const {\n pickLight,\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (mapTexture) {\n return {\n frag: polygonExtrudeTexFrag,\n vert: polygonExtrudeTexVert,\n type: 'polygonExtrudeTexture',\n };\n }\n if (pickLight) {\n return {\n frag: polygonExtrudePickLightFrag,\n vert: polygonExtrudePickLightVert,\n type: 'polygonExtrudePickLight',\n };\n } else {\n return {\n frag: polygonExtrudeFrag,\n vert: polygonExtrudeVert,\n type: 'polygonExtrude',\n };\n }\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n this.texture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const bbox = this.layer.getSource().extent;\n const [minLng, minLat, maxLng, maxLat] = bbox;\n const lngLen = maxLng - minLng;\n const latLen = maxLat - minLat;\n\n this.styleAttributeService.registerStyleAttribute({\n name: 'uvs',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_uvs',\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 const lng = vertex[0];\n const lat = vertex[1];\n return [(lng - minLng) / lngLen, (lat - minLat) / latLen, vertex[4]];\n },\n },\n });\n // point layer size;\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: '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 = 10 } = feature;\n return Array.isArray(size) ? [size[0]] : [size as number];\n },\n },\n });\n }\n\n private loadTexture() {\n const {\n mapTexture,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n\n const { createTexture2D } = this.rendererService;\n this.texture = createTexture2D({\n height: 0,\n width: 0,\n });\n if (mapTexture) {\n const image = new Image();\n image.crossOrigin = '';\n image.src = mapTexture;\n\n image.onload = () => {\n this.texture = createTexture2D({\n data: image,\n width: image.width,\n height: image.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n });\n this.layerService.updateLayerRenderList();\n this.layerService.renderLayers();\n };\n }\n }\n}\n"],"file":"extrude.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/fill.ts"],"names":["FillModel","layer","getLayerConfig","raisingHeight","opacity","opacityLinear","enable","dir","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","Number","u_opacity","u_opacitylinear","u_dir","buildModels","getModelParams","frag","vert","triangulation","mask","maskInside","buildLayerModel","moduleName","vertexShader","fragmentShader","blend","getBlend","depth","
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/fill.ts"],"names":["FillModel","layer","getLayerConfig","raisingHeight","opacity","opacityLinear","enable","dir","dataTextureTest","dataTextureNeedUpdate","judgeStyleAttributes","encodeData","getEncodedData","calDataFrame","cellLength","cellProperties","data","width","height","rowCount","dataTexture","length","createTexture2D","flipY","format","gl","LUMINANCE","type","FLOAT","u_dataTexture","u_cellTypeLayout","getCellTypeLayout","u_raisingHeight","Number","u_opacity","u_opacitylinear","u_dir","buildModels","getModelParams","frag","vert","triangulation","mask","maskInside","buildLayerModel","moduleName","vertexShader","fragmentShader","blend","getBlend","depth","stencil","destroy","styleAttributeService","registerStyleAttribute","name","AttributeType","Attribute","descriptor","buffer","usage","STATIC_DRAW","size","update","feature","featureIdx","vertex","attributeIdx","normal","polygon_linear_frag","polygon_linear_vert","polygonTriangulationWithCenter","polygon_frag","polygon_vert","polygonTriangulation","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n Triangulation,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport { isNumber } from 'lodash';\nimport BaseModel from '../../core/BaseModel';\nimport { IPolygonLayerStyleOptions } from '../../core/interface';\nimport {\n polygonTriangulation,\n polygonTriangulationWithCenter,\n} from '../../core/triangulation';\nimport polygon_frag from '../shaders/polygon_frag.glsl';\nimport polygon_linear_frag from '../shaders/polygon_linear_frag.glsl';\nimport polygon_linear_vert from '../shaders/polygon_linear_vert.glsl';\nimport polygon_vert from '../shaders/polygon_vert.glsl';\nexport default class FillModel extends BaseModel {\n public getUninforms() {\n const {\n raisingHeight = 0,\n opacity = 1,\n opacityLinear = {\n enable: false,\n dir: 'in',\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (this.dataTextureTest && this.dataTextureNeedUpdate({ opacity })) {\n this.judgeStyleAttributes({ opacity });\n const encodeData = this.layer.getEncodedData();\n const { data, width, height } = this.calDataFrame(\n this.cellLength,\n encodeData,\n this.cellProperties,\n );\n this.rowCount = height; // 当前数据纹理有多少行\n\n this.dataTexture =\n this.cellLength > 0 && data.length > 0\n ? this.createTexture2D({\n flipY: true,\n data,\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width,\n height,\n })\n : this.createTexture2D({\n flipY: true,\n data: [1],\n format: gl.LUMINANCE,\n type: gl.FLOAT,\n width: 1,\n height: 1,\n });\n }\n return {\n u_dataTexture: this.dataTexture, // 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]\n u_cellTypeLayout: this.getCellTypeLayout(),\n\n u_raisingHeight: Number(raisingHeight),\n\n u_opacity: isNumber(opacity) ? opacity : 1.0,\n\n u_opacitylinear: Number(opacityLinear.enable),\n u_dir: opacityLinear.dir === 'in' ? 1.0 : 0.0,\n };\n }\n\n public initModels(): IModel[] {\n return this.buildModels();\n }\n\n public buildModels(): IModel[] {\n const { frag, vert, triangulation, type } = this.getModelParams();\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n this.layer.triangulation = triangulation;\n return [\n this.layer.buildLayerModel({\n moduleName: type,\n vertexShader: vert,\n fragmentShader: frag,\n triangulation,\n blend: this.getBlend(),\n depth: { enable: false },\n stencil: getMask(mask, maskInside),\n }),\n ];\n }\n\n public clearModels() {\n this.dataTexture?.destroy();\n }\n\n protected registerBuiltinAttributes() {\n const {\n opacityLinear = {\n enable: false,\n dir: 'in',\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (opacityLinear.enable) {\n this.styleAttributeService.registerStyleAttribute({\n name: 'linear',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_linear',\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 // center[0] center[1] radius\n return [vertex[3], vertex[4], vertex[5]];\n },\n },\n });\n }\n }\n\n private getModelParams(): {\n frag: string;\n vert: string;\n type: string;\n triangulation: Triangulation;\n } {\n const {\n opacityLinear = {\n enable: false,\n },\n } = this.layer.getLayerConfig() as IPolygonLayerStyleOptions;\n if (opacityLinear.enable) {\n return {\n frag: polygon_linear_frag,\n vert: polygon_linear_vert,\n type: 'polygon_linear',\n triangulation: polygonTriangulationWithCenter,\n };\n } else {\n return {\n frag: polygon_frag,\n vert: polygon_vert,\n type: 'polygon_fill',\n triangulation: polygonTriangulation,\n };\n }\n }\n}\n"],"file":"fill.js"}
|
|
@@ -19,12 +19,16 @@ var _normal = _interopRequireDefault(require("../../point/models/normal"));
|
|
|
19
19
|
|
|
20
20
|
var _text = _interopRequireDefault(require("../../point/models/text"));
|
|
21
21
|
|
|
22
|
+
var _tileModel = _interopRequireDefault(require("../../tile/models/tileModel"));
|
|
23
|
+
|
|
22
24
|
var _extrude2 = _interopRequireDefault(require("./extrude"));
|
|
23
25
|
|
|
24
26
|
var _fill2 = _interopRequireDefault(require("./fill"));
|
|
25
27
|
|
|
26
28
|
var _ocean = _interopRequireDefault(require("./ocean"));
|
|
27
29
|
|
|
30
|
+
var _tile = _interopRequireDefault(require("./tile"));
|
|
31
|
+
|
|
28
32
|
var _water = _interopRequireDefault(require("./water"));
|
|
29
33
|
|
|
30
34
|
var PolygonModels = {
|
|
@@ -37,7 +41,9 @@ var PolygonModels = {
|
|
|
37
41
|
point_normal: _normal.default,
|
|
38
42
|
point_extrude: _extrude.default,
|
|
39
43
|
water: _water.default,
|
|
40
|
-
ocean: _ocean.default
|
|
44
|
+
ocean: _ocean.default,
|
|
45
|
+
vectorpolygon: _tileModel.default,
|
|
46
|
+
tile: _tile.default
|
|
41
47
|
};
|
|
42
48
|
var _default = PolygonModels;
|
|
43
49
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/polygon/models/index.ts"],"names":["PolygonModels","fill","FillModel","line","LineModel","extrude","ExtrudeModel","text","TextModel","point_fill","PointFillModel","point_image","IMageModel","point_normal","NormalModel","point_extrude","PointExtrudeModel","water","Water","ocean","Ocean"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../../../src/polygon/models/index.ts"],"names":["PolygonModels","fill","FillModel","line","LineModel","extrude","ExtrudeModel","text","TextModel","point_fill","PointFillModel","point_image","IMageModel","point_normal","NormalModel","point_extrude","PointExtrudeModel","water","Water","ocean","Ocean","vectorpolygon","PolygonTileModel","tile","TilePolygonModel"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAgBA,IAAMA,aAAiD,GAAG;AACxDC,EAAAA,IAAI,EAAEC,cADkD;AAExDC,EAAAA,IAAI,EAAEC,aAFkD;AAGxDC,EAAAA,OAAO,EAAEC,iBAH+C;AAIxDC,EAAAA,IAAI,EAAEC,aAJkD;AAKxDC,EAAAA,UAAU,EAAEC,aAL4C;AAMxDC,EAAAA,WAAW,EAAEC,cAN2C;AAOxDC,EAAAA,YAAY,EAAEC,eAP0C;AAQxDC,EAAAA,aAAa,EAAEC,gBARyC;AASxDC,EAAAA,KAAK,EAAEC,cATiD;AAUxDC,EAAAA,KAAK,EAAEC,cAViD;AAYxDC,EAAAA,aAAa,EAAEC,kBAZyC;AAaxDC,EAAAA,IAAI,EAAEC;AAbkD,CAA1D;eAeexB,a","sourcesContent":["import LineModel from '../../line/models/line';\nimport PointExtrudeModel from '../../point/models/extrude';\nimport PointFillModel from '../../point/models/fill';\nimport IMageModel from '../../point/models/image';\nimport NormalModel from '../../point/models/normal';\nimport TextModel from '../../point/models/text';\nimport PolygonTileModel from '../../tile/models/tileModel';\nimport ExtrudeModel from './extrude';\nimport FillModel from './fill';\nimport Ocean from './ocean';\nimport TilePolygonModel from './tile';\nimport Water from './water';\n\nexport type PolygonModelType =\n | 'fill'\n | 'extrude'\n | 'line'\n | 'point_fill'\n | 'point_image'\n | 'point_normal'\n | 'point_extrude'\n | 'text'\n | 'water'\n | 'ocean'\n | 'vectorpolygon'\n | 'tile';\n\nconst PolygonModels: { [key in PolygonModelType]: any } = {\n fill: FillModel,\n line: LineModel,\n extrude: ExtrudeModel,\n text: TextModel,\n point_fill: PointFillModel,\n point_image: IMageModel,\n point_normal: NormalModel,\n point_extrude: PointExtrudeModel,\n water: Water,\n ocean: Ocean,\n // point_fill: PointModels.fill,\n vectorpolygon: PolygonTileModel,\n tile: TilePolygonModel,\n};\nexport default PolygonModels;\n"],"file":"index.js"}
|