@antv/l7-layers 2.9.27-alpha.2 → 2.9.27-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Geometry/index.js +6 -2
- package/es/Geometry/models/billboard.js +3 -7
- package/es/Geometry/models/plane.js +5 -7
- package/es/Geometry/models/sprite.js +4 -7
- package/es/canvas/index.d.ts +4 -0
- package/es/canvas/index.js +38 -2
- package/es/citybuliding/building.js +6 -2
- package/es/citybuliding/models/build.js +2 -3
- package/es/core/BaseLayer.d.ts +20 -12
- package/es/core/BaseLayer.js +61 -85
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +22 -19
- package/es/core/interface.d.ts +20 -1
- package/es/core/triangulation.d.ts +6 -0
- package/es/core/triangulation.js +64 -2
- package/es/earth/index.js +3 -1
- package/es/earth/models/atmosphere.js +4 -7
- package/es/earth/models/base.js +12 -18
- package/es/earth/models/bloomsphere.js +4 -8
- package/es/earth/shaders/atmosphere_frag.glsl +1 -1
- package/es/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/es/heatmap/index.d.ts +2 -2
- package/es/heatmap/index.js +7 -5
- package/es/heatmap/models/grid.js +1 -3
- package/es/heatmap/models/grid3d.js +4 -11
- package/es/heatmap/models/heatmap.js +8 -9
- package/es/heatmap/models/hexagon.js +2 -6
- package/es/heatmap/triangulation.js +0 -1
- package/es/image/index.d.ts +1 -1
- package/es/image/index.js +10 -3
- package/es/image/models/dataImage.d.ts +1 -1
- package/es/image/models/dataImage.js +14 -39
- package/es/image/models/image.js +5 -10
- package/es/image/models/index.d.ts +1 -1
- package/es/image/models/index.js +3 -1
- package/es/image/models/tileDataImage.d.ts +19 -0
- package/es/image/models/tileDataImage.js +174 -0
- package/es/line/index.d.ts +1 -0
- package/es/line/index.js +8 -2
- package/es/line/models/arc.js +10 -10
- package/es/line/models/arc_3d.js +8 -10
- package/es/line/models/earthArc_3d.js +8 -10
- package/es/line/models/great_circle.js +7 -7
- package/es/line/models/half.js +3 -4
- package/es/line/models/line.js +10 -9
- package/es/line/models/linearline.js +3 -4
- package/es/line/models/simpleLine.js +5 -4
- package/es/line/models/simpleTileLine.d.ts +9 -0
- package/es/line/models/simpleTileLine.js +100 -0
- package/es/line/models/tile.d.ts +1 -4
- package/es/line/models/tile.js +50 -223
- package/es/line/models/wall.js +11 -47
- package/es/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/es/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/es/line/shaders/line_arc2d_vert.glsl +2 -2
- package/es/line/shaders/line_arc_3d_frag.glsl +10 -10
- package/es/line/shaders/line_arc_3d_vert.glsl +5 -6
- package/es/line/shaders/line_arc_frag.glsl +9 -10
- package/es/line/shaders/line_arc_great_circle_frag.glsl +6 -6
- package/es/line/shaders/line_arc_great_circle_vert.glsl +2 -3
- package/es/line/shaders/line_arc_vert.glsl +6 -4
- package/es/line/shaders/line_bezier_vert.glsl +2 -2
- package/es/line/shaders/line_frag.glsl +5 -6
- package/es/line/shaders/line_vert.glsl +1 -1
- package/es/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
- package/es/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
- package/es/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/es/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/es/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/es/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/es/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/es/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
- package/es/line/shaders/wall/wall_vert.glsl +77 -0
- package/es/mask/index.d.ts +1 -0
- package/es/mask/index.js +80 -5
- package/es/mask/models/fill.d.ts +2 -1
- package/es/mask/models/fill.js +13 -10
- package/es/mask/shaders/mask_vert.glsl +0 -6
- package/es/plugins/DataMappingPlugin.d.ts +4 -3
- package/es/plugins/DataMappingPlugin.js +129 -58
- package/es/plugins/DataSourcePlugin.js +3 -2
- package/es/plugins/FeatureScalePlugin.d.ts +0 -2
- package/es/plugins/FeatureScalePlugin.js +8 -51
- package/es/plugins/LayerAnimateStylePlugin.d.ts +0 -2
- package/es/plugins/LayerAnimateStylePlugin.js +7 -27
- package/es/plugins/LayerModelPlugin.js +2 -6
- package/es/plugins/LightingPlugin.js +1 -7
- package/es/plugins/MultiPassRendererPlugin.d.ts +0 -1
- package/es/plugins/MultiPassRendererPlugin.js +4 -16
- package/es/plugins/PixelPickingPlugin.d.ts +1 -1
- package/es/plugins/PixelPickingPlugin.js +8 -28
- package/es/plugins/RegisterStyleAttributePlugin.d.ts +4 -0
- package/es/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/es/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/es/point/index.js +9 -6
- package/es/point/models/earthExtrude.d.ts +1 -1
- package/es/point/models/earthExtrude.js +9 -14
- package/es/point/models/earthFill.js +2 -2
- package/es/point/models/extrude.d.ts +1 -1
- package/es/point/models/extrude.js +9 -12
- package/es/point/models/fill.d.ts +1 -1
- package/es/point/models/fill.js +8 -9
- package/es/point/models/fillmage.js +5 -6
- package/es/point/models/image.js +3 -3
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +3 -3
- package/es/point/models/normal.d.ts +0 -1
- package/es/point/models/normal.js +9 -62
- package/es/point/models/radar.js +5 -70
- package/es/point/models/simplePoint.d.ts +0 -1
- package/es/point/models/simplePoint.js +2 -11
- package/es/point/models/text.js +7 -10
- package/es/point/models/tile.d.ts +0 -7
- package/es/point/models/tile.js +24 -158
- package/es/point/models/tileText.d.ts +0 -4
- package/es/point/models/tileText.js +99 -188
- package/es/point/shaders/animate/wave_frag.glsl +4 -4
- package/es/point/shaders/earth/fill_vert.glsl +0 -1
- package/es/point/shaders/fill_vert.glsl +0 -1
- package/es/point/shaders/normal_frag.glsl +1 -10
- package/es/point/shaders/normal_vert.glsl +5 -60
- package/es/point/shaders/radar/radar_frag.glsl +4 -15
- package/es/point/shaders/radar/radar_vert.glsl +4 -54
- package/es/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/es/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/es/point/shaders/tile/text_frag.glsl +33 -0
- package/es/point/shaders/tile/text_map_frag.glsl +31 -0
- package/es/point/shaders/tile/text_map_vert.glsl +38 -0
- package/es/point/shaders/tile/text_vert.glsl +48 -0
- package/es/polygon/index.js +6 -2
- package/es/polygon/models/extrude.js +4 -8
- package/es/polygon/models/fill.js +3 -4
- package/es/polygon/models/ocean.d.ts +0 -2
- package/es/polygon/models/ocean.js +13 -47
- package/es/polygon/models/tile.d.ts +1 -4
- package/es/polygon/models/tile.js +25 -57
- package/es/polygon/models/water.d.ts +0 -2
- package/es/polygon/models/water.js +13 -47
- package/es/polygon/shaders/polygon_frag.glsl +2 -2
- package/es/polygon/shaders/polygon_vert.glsl +2 -2
- package/es/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/es/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/es/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/es/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/es/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/es/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/es/raster/buffers/triangulation.js +1 -4
- package/es/raster/index.js +6 -2
- package/es/raster/models/raster.d.ts +1 -1
- package/es/raster/models/raster.js +6 -5
- package/es/shader/minify_frag.glsl +7 -0
- package/es/shader/minify_picking_frag.glsl +10 -0
- package/es/tile/manager/baseMapTileLayerManager.d.ts +29 -0
- package/es/tile/manager/baseMapTileLayerManager.js +207 -0
- package/es/tile/manager/tileLayerManager.d.ts +2 -2
- package/es/tile/manager/tileLayerManager.js +12 -2
- package/es/tile/manager/tilePickerManager.d.ts +2 -3
- package/es/tile/manager/tilePickerManager.js +1 -2
- package/es/tile/models/tileModel.d.ts +1 -0
- package/es/tile/models/tileModel.js +18 -2
- package/es/tile/tileFactory/base.d.ts +1 -1
- package/es/tile/tileFactory/base.js +58 -33
- package/es/tile/tileFactory/line.js +3 -0
- package/es/tile/tileFactory/point.js +3 -0
- package/es/tile/tileFactory/polygon.js +3 -0
- package/es/tile/tileFactory/raster.js +3 -0
- package/es/tile/tileFactory/rasterData.js +3 -0
- package/es/tile/tileFactory/rasterDataLayer.js +6 -2
- package/es/tile/tileFactory/test.js +26 -5
- package/es/tile/tileFactory/vectorLayer.d.ts +4 -1
- package/es/tile/tileFactory/vectorLayer.js +110 -7
- package/es/tile/tileLayer/baseMapTileLayer.d.ts +29 -0
- package/es/tile/tileLayer/baseMapTileLayer.js +188 -0
- package/es/tile/tileLayer/baseTileLayer.d.ts +4 -4
- package/es/tile/tileLayer/baseTileLayer.js +46 -75
- package/es/tile/tileTest.d.ts +1 -0
- package/es/tile/tileTest.js +3 -2
- package/es/tile/tmsMapTileLayer.d.ts +9 -0
- package/es/tile/tmsMapTileLayer.js +119 -0
- package/es/tile/tmsTileLayer.d.ts +2 -0
- package/es/tile/tmsTileLayer.js +24 -2
- package/es/tile/utils.d.ts +4 -0
- package/es/tile/utils.js +30 -0
- package/es/utils/dataMappingStyle.js +3 -0
- package/es/utils/layerData.js +2 -2
- package/es/utils/updateShape.js +2 -2
- package/es/wind/index.js +6 -2
- package/es/wind/models/wind.js +8 -8
- package/es/wind/shaders/wind_vert.glsl +1 -1
- package/lib/Geometry/index.js +6 -2
- package/lib/Geometry/models/billboard.js +3 -7
- package/lib/Geometry/models/plane.js +5 -7
- package/lib/Geometry/models/sprite.js +4 -7
- package/lib/canvas/index.js +37 -2
- package/lib/citybuliding/building.js +6 -2
- package/lib/citybuliding/models/build.js +2 -3
- package/lib/core/BaseLayer.js +61 -85
- package/lib/core/BaseModel.js +22 -19
- package/lib/core/triangulation.js +66 -2
- package/lib/earth/index.js +3 -1
- package/lib/earth/models/atmosphere.js +4 -7
- package/lib/earth/models/base.js +12 -18
- package/lib/earth/models/bloomsphere.js +4 -8
- package/lib/earth/shaders/atmosphere_frag.glsl +1 -1
- package/lib/earth/shaders/bloomsphere_frag.glsl +1 -1
- package/lib/heatmap/index.js +7 -5
- package/lib/heatmap/models/grid.js +1 -3
- package/lib/heatmap/models/grid3d.js +4 -11
- package/lib/heatmap/models/heatmap.js +8 -9
- package/lib/heatmap/models/hexagon.js +2 -6
- package/lib/heatmap/triangulation.js +0 -1
- package/lib/image/index.js +10 -3
- package/lib/image/models/dataImage.js +13 -38
- package/lib/image/models/image.js +5 -10
- package/lib/image/models/index.js +4 -1
- package/lib/image/models/tileDataImage.js +188 -0
- package/lib/line/index.js +7 -2
- package/lib/line/models/arc.js +10 -10
- package/lib/line/models/arc_3d.js +8 -10
- package/lib/line/models/earthArc_3d.js +8 -10
- package/lib/line/models/great_circle.js +7 -7
- package/lib/line/models/half.js +3 -4
- package/lib/line/models/line.js +10 -9
- package/lib/line/models/linearline.js +3 -4
- package/lib/line/models/simpleLine.js +5 -4
- package/lib/line/models/simpleTileLine.js +115 -0
- package/lib/line/models/tile.js +50 -224
- package/lib/line/models/wall.js +11 -47
- package/lib/line/shaders/dash/arc_dash_vert.glsl +2 -0
- package/lib/line/shaders/dash/line_dash_frag.glsl +1 -1
- package/lib/line/shaders/line_arc2d_vert.glsl +2 -2
- package/lib/line/shaders/line_arc_3d_frag.glsl +10 -10
- package/lib/line/shaders/line_arc_3d_vert.glsl +5 -6
- package/lib/line/shaders/line_arc_frag.glsl +9 -10
- package/lib/line/shaders/line_arc_great_circle_frag.glsl +6 -6
- package/lib/line/shaders/line_arc_great_circle_vert.glsl +2 -3
- package/lib/line/shaders/line_arc_vert.glsl +6 -4
- package/lib/line/shaders/line_bezier_vert.glsl +2 -2
- package/lib/line/shaders/line_frag.glsl +5 -6
- package/lib/line/shaders/line_vert.glsl +1 -1
- package/lib/line/shaders/linear/arc3d_linear_frag.glsl +6 -7
- package/lib/line/shaders/linear/arc3d_linear_vert.glsl +11 -12
- package/lib/line/shaders/linear/arc_linear_frag.glsl +1 -1
- package/lib/line/shaders/tile/line_tile_map_vert.glsl +25 -0
- package/lib/line/shaders/tile/line_tile_vert.glsl +19 -177
- package/lib/line/shaders/tile/simpleline_map_vert.glsl +15 -0
- package/lib/line/shaders/tile/simpleline_vert.glsl +21 -0
- package/lib/line/shaders/{wall_frag.glsl → wall/wall_frag.glsl} +21 -25
- package/lib/line/shaders/wall/wall_vert.glsl +77 -0
- package/lib/mask/index.js +82 -5
- package/lib/mask/models/fill.js +14 -10
- package/lib/mask/shaders/mask_vert.glsl +0 -6
- package/lib/plugins/DataMappingPlugin.js +127 -57
- package/lib/plugins/DataSourcePlugin.js +3 -2
- package/lib/plugins/FeatureScalePlugin.js +6 -50
- package/lib/plugins/LayerAnimateStylePlugin.js +6 -29
- package/lib/plugins/LayerModelPlugin.js +2 -6
- package/lib/plugins/LightingPlugin.js +1 -7
- package/lib/plugins/MultiPassRendererPlugin.js +3 -19
- package/lib/plugins/PixelPickingPlugin.js +8 -28
- package/lib/plugins/RegisterStyleAttributePlugin.js +56 -5
- package/lib/plugins/UpdateStyleAttributePlugin.js +2 -9
- package/lib/point/index.js +9 -6
- package/lib/point/models/earthExtrude.js +9 -14
- package/lib/point/models/earthFill.js +2 -2
- package/lib/point/models/extrude.js +9 -12
- package/lib/point/models/fill.js +8 -9
- package/lib/point/models/fillmage.js +5 -6
- package/lib/point/models/image.js +3 -3
- package/lib/point/models/index.js +1 -1
- package/lib/point/models/normal.js +8 -61
- package/lib/point/models/radar.js +5 -70
- package/lib/point/models/simplePoint.js +1 -10
- package/lib/point/models/text.js +7 -10
- package/lib/point/models/tile.js +23 -159
- package/lib/point/models/tileText.js +98 -187
- package/lib/point/shaders/animate/wave_frag.glsl +4 -4
- package/lib/point/shaders/earth/fill_vert.glsl +0 -1
- package/lib/point/shaders/fill_vert.glsl +0 -1
- package/lib/point/shaders/normal_frag.glsl +1 -10
- package/lib/point/shaders/normal_vert.glsl +5 -60
- package/lib/point/shaders/radar/radar_frag.glsl +4 -15
- package/lib/point/shaders/radar/radar_vert.glsl +4 -54
- package/lib/point/shaders/tile/fill_tile_frag.glsl +10 -17
- package/lib/point/shaders/tile/fill_tile_vert.glsl +20 -123
- package/lib/point/shaders/tile/text_frag.glsl +33 -0
- package/lib/point/shaders/tile/text_map_frag.glsl +31 -0
- package/lib/point/shaders/tile/text_map_vert.glsl +38 -0
- package/lib/point/shaders/tile/text_vert.glsl +48 -0
- package/lib/polygon/index.js +6 -2
- package/lib/polygon/models/extrude.js +4 -8
- package/lib/polygon/models/fill.js +3 -4
- package/lib/polygon/models/ocean.js +14 -47
- package/lib/polygon/models/tile.js +24 -57
- package/lib/polygon/models/water.js +14 -47
- package/lib/polygon/shaders/polygon_frag.glsl +2 -2
- package/lib/polygon/shaders/polygon_vert.glsl +2 -2
- package/lib/polygon/shaders/tile/polygon_tile_map_vert.glsl +16 -0
- package/lib/polygon/shaders/tile/polygon_tile_vert.glsl +20 -60
- package/lib/polygon/shaders/water/polygon_ocean_frag.glsl +1 -2
- package/lib/polygon/shaders/water/polygon_ocean_vert.glsl +0 -31
- package/lib/polygon/shaders/water/polygon_water_frag.glsl +1 -3
- package/lib/polygon/shaders/water/polygon_water_vert.glsl +0 -29
- package/lib/raster/buffers/triangulation.js +1 -4
- package/lib/raster/index.js +6 -2
- package/lib/raster/models/raster.js +6 -5
- package/lib/shader/minify_frag.glsl +7 -0
- package/lib/shader/minify_picking_frag.glsl +10 -0
- package/lib/tile/manager/baseMapTileLayerManager.js +222 -0
- package/lib/tile/manager/tileLayerManager.js +12 -2
- package/lib/tile/manager/tilePickerManager.js +1 -2
- package/lib/tile/models/tileModel.js +19 -2
- package/lib/tile/tileFactory/base.js +60 -33
- package/lib/tile/tileFactory/line.js +3 -0
- package/lib/tile/tileFactory/point.js +3 -0
- package/lib/tile/tileFactory/polygon.js +3 -0
- package/lib/tile/tileFactory/raster.js +3 -0
- package/lib/tile/tileFactory/rasterData.js +3 -0
- package/lib/tile/tileFactory/rasterDataLayer.js +6 -2
- package/lib/tile/tileFactory/test.js +26 -5
- package/lib/tile/tileFactory/vectorLayer.js +112 -8
- package/lib/tile/tileLayer/baseMapTileLayer.js +195 -0
- package/lib/tile/tileLayer/baseTileLayer.js +46 -75
- package/lib/tile/tileTest.js +3 -2
- package/lib/tile/tmsMapTileLayer.js +136 -0
- package/lib/tile/tmsTileLayer.js +25 -2
- package/lib/tile/utils.js +38 -0
- package/lib/utils/dataMappingStyle.js +3 -0
- package/lib/utils/layerData.js +2 -2
- package/lib/utils/updateShape.js +2 -2
- package/lib/wind/index.js +6 -2
- package/lib/wind/models/wind.js +7 -7
- package/lib/wind/shaders/wind_vert.glsl +1 -1
- package/package.json +8 -7
- package/es/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/es/line/shaders/wall_vert.glsl +0 -111
- package/es/mask/shaders/mask_frag.glsl +0 -7
- package/es/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
- package/lib/line/shaders/tile/line_tile_frag.glsl +0 -79
- package/lib/line/shaders/wall_vert.glsl +0 -111
- package/lib/mask/shaders/mask_frag.glsl +0 -7
- package/lib/polygon/shaders/tile/polygon_tile_frag.glsl +0 -12
package/es/line/models/tile.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
2
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
3
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
-
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
5
4
|
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
7
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
8
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
10
8
|
|
|
11
9
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
@@ -17,11 +15,17 @@ import { getMask, rgb2arr } from '@antv/l7-utils';
|
|
|
17
15
|
import BaseModel from "../../core/BaseModel";
|
|
18
16
|
import { LineTriangulation } from "../../core/triangulation";
|
|
19
17
|
|
|
20
|
-
/* babel-plugin-inline-import '
|
|
21
|
-
var line_tile_frag = "
|
|
18
|
+
/* babel-plugin-inline-import '../../shader/minify_picking_frag.glsl' */
|
|
19
|
+
var line_tile_frag = "uniform float u_opacity : 1.0;\nvarying vec4 v_color;\n\n#pragma include \"picking\"\n\nvoid main() {\n gl_FragColor = v_color;\n gl_FragColor.a *= u_opacity;\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
22
20
|
|
|
23
21
|
/* babel-plugin-inline-import '../shaders/tile/line_tile_vert.glsl' */
|
|
24
|
-
var line_tile_vert = "
|
|
22
|
+
var line_tile_vert = "attribute float a_Miter;\nattribute vec4 a_Color;\nattribute vec2 a_Size;\nattribute vec3 a_Normal;\nattribute vec3 a_Position;\n\n// uniform vec2 u_tileOrigin;\n// uniform float u_coord;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\n\n\n#pragma include \"projection\"\n#pragma include \"picking\"\n\nvarying vec4 v_color;\n\nvoid main() {\n v_color = a_Color;\n\n vec3 size = a_Miter * setPickingSize(a_Size.x) * reverse_offset_normal(a_Normal);\n \n vec2 offset = project_pixel(size.xy);\n\n vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));\n\n // if(u_coord > 0.0) { // \u4F7F\u7528\u7ECF\u7EAC\u5EA6\u5750\u6807\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 { // \u4F7F\u7528\u504F\u79FB\u5750\u6807\n // vec2 pointPos = a_Position.xy;\n // vec4 tileWorld = 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 // tileWorld.xy += pointOffset;\n\n // tileWorld.xy += offset;\n\n // if (u_CoordinateSystem == COORDINATE_SYSTEM_METER_OFFSET || u_CoordinateSystem == COORDINATE_SYSTEM_LNGLAT_OFFSET) {\n // // Needs to be divided with project_uCommonUnitsPerMeter\n // tileWorld.w *= u_PixelsPerMeter.z;\n // }\n // gl_Position = u_ViewProjectionMatrix * tileWorld + u_ViewportCenterProjection;\n // }\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
23
|
+
|
|
24
|
+
/* babel-plugin-inline-import '../../shader/minify_frag.glsl' */
|
|
25
|
+
var line_tile_map_frag = "uniform float u_opacity : 1.0;\nuniform vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n gl_FragColor.a *= u_opacity;\n}\n";
|
|
26
|
+
|
|
27
|
+
/* babel-plugin-inline-import '../shaders/tile/line_tile_map_vert.glsl' */
|
|
28
|
+
var line_tile_map_vert = "attribute float a_Miter;\nattribute vec4 a_Color;\nattribute vec3 a_Normal;\nattribute vec3 a_Position;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform float u_size;\n\n#pragma include \"projection\"\n\nvoid main() {\n\n vec3 size = a_Miter * u_size * reverse_offset_normal(a_Normal);\n \n vec2 offset = project_pixel(size.xy);\n\n vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));\n\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}\n";
|
|
25
29
|
|
|
26
30
|
var LineModel = /*#__PURE__*/function (_BaseModel) {
|
|
27
31
|
_inherits(LineModel, _BaseModel);
|
|
@@ -29,40 +33,9 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
29
33
|
var _super = _createSuper(LineModel);
|
|
30
34
|
|
|
31
35
|
function LineModel() {
|
|
32
|
-
var _this;
|
|
33
|
-
|
|
34
36
|
_classCallCheck(this, LineModel);
|
|
35
37
|
|
|
36
|
-
|
|
37
|
-
args[_key] = arguments[_key];
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
_this = _super.call.apply(_super, [this].concat(args));
|
|
41
|
-
|
|
42
|
-
_defineProperty(_assertThisInitialized(_this), "updateTexture", function () {
|
|
43
|
-
var createTexture2D = _this.rendererService.createTexture2D;
|
|
44
|
-
|
|
45
|
-
if (_this.texture) {
|
|
46
|
-
_this.texture.update({
|
|
47
|
-
data: _this.iconService.getCanvas()
|
|
48
|
-
});
|
|
49
|
-
|
|
50
|
-
_this.layer.render();
|
|
51
|
-
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
_this.texture = createTexture2D({
|
|
56
|
-
data: _this.iconService.getCanvas(),
|
|
57
|
-
mag: gl.NEAREST,
|
|
58
|
-
min: gl.NEAREST,
|
|
59
|
-
premultiplyAlpha: false,
|
|
60
|
-
width: 1024,
|
|
61
|
-
height: _this.iconService.canvasHeight || 128
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
return _this;
|
|
38
|
+
return _super.apply(this, arguments);
|
|
66
39
|
}
|
|
67
40
|
|
|
68
41
|
_createClass(LineModel, [{
|
|
@@ -71,135 +44,48 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
71
44
|
var _ref = this.layer.getLayerConfig(),
|
|
72
45
|
_ref$opacity = _ref.opacity,
|
|
73
46
|
opacity = _ref$opacity === void 0 ? 1 : _ref$opacity,
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
_ref$
|
|
77
|
-
|
|
78
|
-
_ref$
|
|
79
|
-
iconStep = _ref$iconStep === void 0 ? 100 : _ref$iconStep,
|
|
80
|
-
_ref$vertexHeightScal = _ref.vertexHeightScale,
|
|
81
|
-
vertexHeightScale = _ref$vertexHeightScal === void 0 ? 20.0 : _ref$vertexHeightScal,
|
|
82
|
-
_ref$borderWidth = _ref.borderWidth,
|
|
83
|
-
borderWidth = _ref$borderWidth === void 0 ? 0.0 : _ref$borderWidth,
|
|
84
|
-
_ref$borderColor = _ref.borderColor,
|
|
85
|
-
borderColor = _ref$borderColor === void 0 ? '#ccc' : _ref$borderColor,
|
|
86
|
-
_ref$heightfixed = _ref.heightfixed,
|
|
87
|
-
heightfixed = _ref$heightfixed === void 0 ? false : _ref$heightfixed,
|
|
88
|
-
_ref$arrow = _ref.arrow,
|
|
89
|
-
arrow = _ref$arrow === void 0 ? {
|
|
90
|
-
enable: false,
|
|
91
|
-
arrowWidth: 2,
|
|
92
|
-
arrowHeight: 3,
|
|
93
|
-
tailWidth: 1
|
|
94
|
-
} : _ref$arrow,
|
|
95
|
-
_ref$coord = _ref.coord,
|
|
96
|
-
coord = _ref$coord === void 0 ? 'lnglat' : _ref$coord,
|
|
97
|
-
tileOrigin = _ref.tileOrigin;
|
|
98
|
-
|
|
99
|
-
if (this.rendererService.getDirty()) {
|
|
100
|
-
this.texture.bind();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (this.dataTextureTest && this.dataTextureNeedUpdate({
|
|
104
|
-
opacity: opacity
|
|
105
|
-
})) {
|
|
106
|
-
this.judgeStyleAttributes({
|
|
107
|
-
opacity: opacity
|
|
108
|
-
});
|
|
109
|
-
var encodeData = this.layer.getEncodedData();
|
|
110
|
-
|
|
111
|
-
var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
|
|
112
|
-
data = _this$calDataFrame.data,
|
|
113
|
-
width = _this$calDataFrame.width,
|
|
114
|
-
height = _this$calDataFrame.height;
|
|
115
|
-
|
|
116
|
-
this.rowCount = height; // 当前数据纹理有多少行
|
|
117
|
-
|
|
118
|
-
this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
|
|
119
|
-
flipY: true,
|
|
120
|
-
data: data,
|
|
121
|
-
format: gl.LUMINANCE,
|
|
122
|
-
type: gl.FLOAT,
|
|
123
|
-
width: width,
|
|
124
|
-
height: height
|
|
125
|
-
}) : this.createTexture2D({
|
|
126
|
-
flipY: true,
|
|
127
|
-
data: [1],
|
|
128
|
-
format: gl.LUMINANCE,
|
|
129
|
-
type: gl.FLOAT,
|
|
130
|
-
width: 1,
|
|
131
|
-
height: 1
|
|
132
|
-
});
|
|
133
|
-
}
|
|
47
|
+
usage = _ref.usage,
|
|
48
|
+
_ref$color = _ref.color,
|
|
49
|
+
color = _ref$color === void 0 ? '#fff' : _ref$color,
|
|
50
|
+
_ref$size = _ref.size,
|
|
51
|
+
size = _ref$size === void 0 ? 1 : _ref$size;
|
|
134
52
|
|
|
135
53
|
return {
|
|
136
|
-
u_tileOrigin: tileOrigin || [0, 0],
|
|
137
|
-
u_coord: coord === 'lnglat' ? 1.0 : 0.0,
|
|
138
|
-
u_dataTexture: this.dataTexture,
|
|
139
|
-
// 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]
|
|
140
|
-
u_cellTypeLayout: this.getCellTypeLayout(),
|
|
54
|
+
// u_tileOrigin: tileOrigin || [0, 0],
|
|
55
|
+
// u_coord: coord === 'lnglat' ? 1.0 : 0.0,
|
|
141
56
|
u_opacity: Number(opacity),
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
u_texture: this.texture,
|
|
145
|
-
// 贴图
|
|
146
|
-
u_line_texture: lineTexture ? 1.0 : 0.0,
|
|
147
|
-
// 传入线的标识
|
|
148
|
-
u_icon_step: iconStep,
|
|
149
|
-
u_textSize: [1024, this.iconService.canvasHeight || 128],
|
|
150
|
-
// line border 参数
|
|
151
|
-
u_borderWidth: borderWidth,
|
|
152
|
-
u_borderColor: rgb2arr(borderColor),
|
|
153
|
-
// 是否固定高度
|
|
154
|
-
u_heightfixed: Number(heightfixed),
|
|
155
|
-
// 顶点高度 scale
|
|
156
|
-
u_vertexScale: vertexHeightScale,
|
|
157
|
-
// arrow
|
|
158
|
-
u_arrow: Number(arrow.enable),
|
|
159
|
-
u_arrowHeight: arrow.arrowHeight || 3,
|
|
160
|
-
u_arrowWidth: arrow.arrowWidth || 2,
|
|
161
|
-
u_tailWidth: arrow.tailWidth === undefined ? 1 : arrow.tailWidth
|
|
57
|
+
u_color: usage === 'basemap' ? rgb2arr(color) : [0, 0, 0, 0],
|
|
58
|
+
u_size: usage === 'basemap' ? size : 1
|
|
162
59
|
};
|
|
163
60
|
}
|
|
164
61
|
}, {
|
|
165
62
|
key: "initModels",
|
|
166
63
|
value: function initModels(callbackModel) {
|
|
167
|
-
this.updateTexture();
|
|
168
|
-
this.iconService.on('imageUpdate', this.updateTexture);
|
|
169
64
|
this.buildModels(callbackModel);
|
|
170
65
|
}
|
|
171
|
-
}, {
|
|
172
|
-
key: "clearModels",
|
|
173
|
-
value: function clearModels() {
|
|
174
|
-
var _this$texture, _this$dataTexture;
|
|
175
|
-
|
|
176
|
-
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
177
|
-
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
178
|
-
this.iconService.off('imageUpdate', this.updateTexture);
|
|
179
|
-
}
|
|
180
66
|
}, {
|
|
181
67
|
key: "buildModels",
|
|
182
68
|
value: function () {
|
|
183
69
|
var _buildModels = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(callbackModel) {
|
|
184
|
-
var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, _ref2$depth, depth;
|
|
70
|
+
var _ref2, _ref2$mask, mask, _ref2$maskInside, maskInside, _ref2$depth, depth, usage;
|
|
185
71
|
|
|
186
72
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
187
73
|
while (1) {
|
|
188
74
|
switch (_context.prev = _context.next) {
|
|
189
75
|
case 0:
|
|
190
|
-
_ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside, _ref2$depth = _ref2.depth, depth = _ref2$depth === void 0 ? false : _ref2$depth;
|
|
76
|
+
_ref2 = this.layer.getLayerConfig(), _ref2$mask = _ref2.mask, mask = _ref2$mask === void 0 ? false : _ref2$mask, _ref2$maskInside = _ref2.maskInside, maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside, _ref2$depth = _ref2.depth, depth = _ref2$depth === void 0 ? false : _ref2$depth, usage = _ref2.usage;
|
|
191
77
|
this.layer.triangulation = LineTriangulation;
|
|
192
78
|
this.layer.buildLayerModel({
|
|
193
|
-
moduleName: '
|
|
194
|
-
vertexShader: line_tile_vert,
|
|
195
|
-
fragmentShader: line_tile_frag,
|
|
79
|
+
moduleName: 'lineTile_' + usage,
|
|
80
|
+
vertexShader: usage === 'basemap' ? line_tile_map_vert : line_tile_vert,
|
|
81
|
+
fragmentShader: usage === 'basemap' ? line_tile_map_frag : line_tile_frag,
|
|
196
82
|
triangulation: LineTriangulation,
|
|
197
83
|
blend: this.getBlend(),
|
|
198
84
|
depth: {
|
|
199
85
|
enable: depth
|
|
200
86
|
},
|
|
201
|
-
|
|
202
|
-
|
|
87
|
+
stencil: getMask(mask, maskInside),
|
|
88
|
+
pick: usage !== 'basemap'
|
|
203
89
|
}).then(function (model) {
|
|
204
90
|
callbackModel([model]);
|
|
205
91
|
}).catch(function (err) {
|
|
@@ -224,61 +110,30 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
224
110
|
}, {
|
|
225
111
|
key: "registerBuiltinAttributes",
|
|
226
112
|
value: function registerBuiltinAttributes() {
|
|
227
|
-
var
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
type: AttributeType.Attribute,
|
|
249
|
-
descriptor: {
|
|
250
|
-
name: 'a_Total_Distance',
|
|
251
|
-
buffer: {
|
|
252
|
-
// give the WebGL driver a hint that this buffer may change
|
|
253
|
-
usage: gl.STATIC_DRAW,
|
|
254
|
-
data: [],
|
|
255
|
-
type: gl.FLOAT
|
|
256
|
-
},
|
|
257
|
-
size: 1,
|
|
258
|
-
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
259
|
-
return [vertex[5]];
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
});
|
|
263
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
264
|
-
name: 'size',
|
|
265
|
-
type: AttributeType.Attribute,
|
|
266
|
-
descriptor: {
|
|
267
|
-
name: 'a_Size',
|
|
268
|
-
buffer: {
|
|
269
|
-
// give the WebGL driver a hint that this buffer may change
|
|
270
|
-
usage: gl.DYNAMIC_DRAW,
|
|
271
|
-
data: [],
|
|
272
|
-
type: gl.FLOAT
|
|
273
|
-
},
|
|
274
|
-
size: 2,
|
|
275
|
-
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
276
|
-
var _feature$size = feature.size,
|
|
277
|
-
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
278
|
-
return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
|
|
113
|
+
var _this$layer$getLayerC = this.layer.getLayerConfig(),
|
|
114
|
+
usage = _this$layer$getLayerC.usage;
|
|
115
|
+
|
|
116
|
+
if (usage !== 'basemap') {
|
|
117
|
+
this.styleAttributeService.registerStyleAttribute({
|
|
118
|
+
name: 'size',
|
|
119
|
+
type: AttributeType.Attribute,
|
|
120
|
+
descriptor: {
|
|
121
|
+
name: 'a_Size',
|
|
122
|
+
buffer: {
|
|
123
|
+
// give the WebGL driver a hint that this buffer may change
|
|
124
|
+
usage: gl.DYNAMIC_DRAW,
|
|
125
|
+
data: [],
|
|
126
|
+
type: gl.FLOAT
|
|
127
|
+
},
|
|
128
|
+
size: 2,
|
|
129
|
+
update: function update(feature) {
|
|
130
|
+
var _feature$size = feature.size,
|
|
131
|
+
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
132
|
+
return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
|
|
133
|
+
}
|
|
279
134
|
}
|
|
280
|
-
}
|
|
281
|
-
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
282
137
|
|
|
283
138
|
this.styleAttributeService.registerStyleAttribute({
|
|
284
139
|
name: 'normal',
|
|
@@ -309,39 +164,11 @@ var LineModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
309
164
|
type: gl.FLOAT
|
|
310
165
|
},
|
|
311
166
|
size: 1,
|
|
312
|
-
update: function update(feature, featureIdx, vertex
|
|
167
|
+
update: function update(feature, featureIdx, vertex) {
|
|
313
168
|
return [vertex[4]];
|
|
314
169
|
}
|
|
315
170
|
}
|
|
316
171
|
});
|
|
317
|
-
this.styleAttributeService.registerStyleAttribute({
|
|
318
|
-
name: 'uv',
|
|
319
|
-
type: AttributeType.Attribute,
|
|
320
|
-
descriptor: {
|
|
321
|
-
name: 'a_iconMapUV',
|
|
322
|
-
buffer: {
|
|
323
|
-
// give the WebGL driver a hint that this buffer may change
|
|
324
|
-
usage: gl.DYNAMIC_DRAW,
|
|
325
|
-
data: [],
|
|
326
|
-
type: gl.FLOAT
|
|
327
|
-
},
|
|
328
|
-
size: 2,
|
|
329
|
-
update: function update(feature, featureIdx, vertex, attributeIdx) {
|
|
330
|
-
var iconMap = _this2.iconService.getIconMap();
|
|
331
|
-
|
|
332
|
-
var texture = feature.texture;
|
|
333
|
-
|
|
334
|
-
var _ref3 = iconMap[texture] || {
|
|
335
|
-
x: 0,
|
|
336
|
-
y: 0
|
|
337
|
-
},
|
|
338
|
-
x = _ref3.x,
|
|
339
|
-
y = _ref3.y;
|
|
340
|
-
|
|
341
|
-
return [x, y];
|
|
342
|
-
}
|
|
343
|
-
}
|
|
344
|
-
});
|
|
345
172
|
}
|
|
346
173
|
}]);
|
|
347
174
|
|
package/es/line/models/wall.js
CHANGED
|
@@ -16,11 +16,11 @@ import { isNumber } from 'lodash';
|
|
|
16
16
|
import BaseModel from "../../core/BaseModel";
|
|
17
17
|
import { LineTriangulation } from "../../core/triangulation";
|
|
18
18
|
|
|
19
|
-
/* babel-plugin-inline-import '../shaders/wall_frag.glsl' */
|
|
20
|
-
var line_frag = "#define Animate 0.0\n#define LineTexture 1.0\n\
|
|
19
|
+
/* babel-plugin-inline-import '../shaders/wall/wall_frag.glsl' */
|
|
20
|
+
var line_frag = "#define Animate 0.0\n#define LineTexture 1.0\n\n// line texture\nuniform float u_line_texture;\nuniform sampler2D u_texture;\nuniform vec2 u_textSize;\nuniform float u_linearColor: 0;\nuniform vec4 u_sourceColor;\nuniform vec4 u_targetColor;\nuniform float u_opacity : 1.0;\nuniform float u_textureBlend;\nuniform float u_iconStepCount;\nuniform float u_time;\nuniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ]; // \u63A7\u5236\u8FD0\u52A8\n\nvarying vec2 v_iconMapUV;\nvarying float v_blur;\nvarying float v_radio;\nvarying vec4 v_color;\nvarying vec4 v_dataset;\n\n#pragma include \"picking\"\n\nvoid main() {\n float opacity = u_opacity;\n float animateSpeed = 0.0; // \u8FD0\u52A8\u901F\u5EA6\n float d_distance_ratio = v_dataset.r; // \u5F53\u524D\u70B9\u4F4D\u8DDD\u79BB\u5360\u7EBF\u603B\u957F\u7684\u6BD4\u4F8B\n float v = v_dataset.a;\n\n if(u_linearColor == 1.0) { // \u4F7F\u7528\u6E10\u53D8\u989C\u8272\n gl_FragColor = mix(u_sourceColor, u_targetColor, v);\n } else { // \u4F7F\u7528 color \u65B9\u6CD5\u4F20\u5165\u7684\u989C\u8272\n gl_FragColor = v_color;\n }\n\n gl_FragColor.a *= opacity; // \u5168\u5C40\u900F\u660E\u5EA6\n if(u_animate.x == Animate) {\n animateSpeed = u_time / u_animate.y;\n float alpha =1.0 - fract( mod(1.0- d_distance_ratio, u_animate.z)* (1.0/ u_animate.z) + animateSpeed);\n alpha = (alpha + u_animate.w -1.0) / u_animate.w;\n alpha = smoothstep(0., 1., alpha);\n gl_FragColor.a *= alpha;\n }\n\n if(u_line_texture == LineTexture) { // while load texture\n float aDistance = v_dataset.g; // \u5F53\u524D\u9876\u70B9\u7684\u8DDD\u79BB\n float d_texPixelLen = v_dataset.b; // \u8D34\u56FE\u7684\u50CF\u7D20\u957F\u5EA6\uFF0C\u6839\u636E\u5730\u56FE\u5C42\u7EA7\u7F29\u653E\n float u = fract(mod(aDistance, d_texPixelLen)/d_texPixelLen - animateSpeed);\n float v = v_dataset.a; // \u7EBF\u56FE\u5C42\u8D34\u56FE\u90E8\u5206\u7684 v \u5750\u6807\u503C\n\n // \u8BA1\u7B97\u7EB9\u7406\u95F4\u9694 start\n float flag = 0.0;\n if(u > 1.0/u_iconStepCount) {\n flag = 1.0;\n }\n u = fract(u*u_iconStepCount);\n // \u8BA1\u7B97\u7EB9\u7406\u95F4\u9694 end\n\n vec2 uv= v_iconMapUV / u_textSize + vec2(u, v) / u_textSize * 64.;\n vec4 pattern = texture2D(u_texture, uv);\n\n // Tip: \u5224\u65AD\u7EB9\u7406\u95F4\u9694\n if(flag > 0.0) {\n pattern = vec4(0.0);\n }\n\n if(u_textureBlend == 0.0) { // normal\n pattern.a = 0.0;\n gl_FragColor = filterColor(gl_FragColor + pattern);\n } else { // replace\n pattern.a *= opacity;\n if(gl_FragColor.a <= 0.0) {\n pattern.a = 0.0;\n }\n gl_FragColor = filterColor(pattern);\n }\n }\n \n\n // blur - AA\n if(v < v_blur) {\n gl_FragColor.a = mix(0.0, gl_FragColor.a, v/v_blur);\n } else if(v > 1.0 - v_blur) {\n gl_FragColor.a = mix(gl_FragColor.a, 0.0, (v - (1.0 - v_blur))/v_blur);\n }\n\n gl_FragColor = filterColor(gl_FragColor);\n}\n";
|
|
21
21
|
|
|
22
|
-
/* babel-plugin-inline-import '../shaders/wall_vert.glsl' */
|
|
23
|
-
var line_vert = "#define Animate 0.0\n\nattribute float a_Miter;\nattribute vec4 a_Color;\nattribute vec2 a_Size;\nattribute vec3 a_Normal;\nattribute vec3 a_Position;\nattribute vec2 a_iconMapUV;\
|
|
22
|
+
/* babel-plugin-inline-import '../shaders/wall/wall_vert.glsl' */
|
|
23
|
+
var line_vert = "#define Animate 0.0\n\nattribute float a_Miter;\nattribute vec4 a_Color;\nattribute vec2 a_Size;\nattribute vec3 a_Normal;\nattribute vec3 a_Position;\nattribute vec2 a_iconMapUV;\nattribute float a_Total_Distance;\nattribute float a_Distance;\n\nuniform mat4 u_ModelMatrix;\nuniform mat4 u_Mvp;\nuniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];\nuniform float u_icon_step: 100;\nuniform float u_heightfixed;\nuniform float u_linearColor: 0;\n\n#pragma include \"projection\"\n#pragma include \"light\"\n#pragma include \"picking\"\n\n// texV \u7EBF\u56FE\u5C42 - \u8D34\u56FE\u90E8\u5206\u7684 v \u5750\u6807\uFF08\u7EBF\u7684\u5BBD\u5EA6\u65B9\u5411\uFF09\nvarying vec2 v_iconMapUV;\nvarying vec4 v_color;\nvarying float v_blur;\nvarying float v_radio;\nvarying vec4 v_dataset;\n\nvoid main() {\n\n\n float d_distance_ratio; // \u5F53\u524D\u70B9\u4F4D\u8DDD\u79BB\u5360\u7EBF\u603B\u957F\u7684\u6BD4\u4F8B\n float d_texPixelLen; // \u8D34\u56FE\u7684\u50CF\u7D20\u957F\u5EA6\uFF0C\u6839\u636E\u5730\u56FE\u5C42\u7EA7\u7F29\u653E\n\n v_iconMapUV = a_iconMapUV;\n if(u_heightfixed < 1.0) { // \u9AD8\u5EA6\u968F zoom \u8C03\u6574\n d_texPixelLen = project_pixel(u_icon_step);\n } else {\n d_texPixelLen = u_icon_step;\n }\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) {\n d_texPixelLen *= 10.0;\n }\n\n if(u_animate.x == Animate || u_linearColor == 1.0) {\n d_distance_ratio = a_Distance / a_Total_Distance;\n }\n\n float miter = (a_Miter + 1.0)/2.0;\n // \u8BBE\u7F6E\u6570\u636E\u96C6\u7684\u53C2\u6570\n v_dataset[0] = d_distance_ratio; // \u5F53\u524D\u70B9\u4F4D\u8DDD\u79BB\u5360\u7EBF\u603B\u957F\u7684\u6BD4\u4F8B\n v_dataset[1] = a_Distance; // \u5F53\u524D\u9876\u70B9\u7684\u8DDD\u79BB\n v_dataset[2] = d_texPixelLen; // \u8D34\u56FE\u7684\u50CF\u7D20\u957F\u5EA6\uFF0C\u6839\u636E\u5730\u56FE\u5C42\u7EA7\u7F29\u653E\n v_dataset[3] = miter; // \u7EBF\u56FE\u5C42\u8D34\u56FE\u90E8\u5206\u7684 v \u5750\u6807\u503C 0 - 1\n\n vec4 project_pos = project_position(vec4(a_Position.xy, 0, 1.0));\n\n float originSize = a_Size.x; // \u56FA\u5B9A\u9AD8\u5EA6\n if(u_heightfixed < 1.0) { // \u9AD8\u5EA6\u968F zoom \u8C03\u6574\n originSize = project_float_pixel(a_Size.x);\n }\n\n float wallHeight = originSize * miter;\n float lightWeight = calc_lighting(vec4(project_pos.xy, wallHeight, 1.0));\n\n v_blur = min(project_float_pixel(2.0) / originSize, 0.05);\n v_color = vec4(a_Color.rgb * lightWeight, a_Color.w);\n\n if(u_CoordinateSystem == COORDINATE_SYSTEM_P20_2) { // gaode2.x\n gl_Position = u_Mvp * (vec4(project_pos.xy, wallHeight, 1.0));\n } else {\n gl_Position = project_common_position_to_clipspace(vec4(project_pos.xy, wallHeight, 1.0));\n }\n\n setPickingColor(a_PickingColor);\n}\n";
|
|
24
24
|
|
|
25
25
|
var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
26
26
|
_inherits(LineWallModel, _BaseModel);
|
|
@@ -99,43 +99,8 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
99
99
|
useLinearColor = 1;
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
if (this.dataTextureTest && this.dataTextureNeedUpdate({
|
|
103
|
-
opacity: opacity
|
|
104
|
-
})) {
|
|
105
|
-
this.judgeStyleAttributes({
|
|
106
|
-
opacity: opacity
|
|
107
|
-
});
|
|
108
|
-
var encodeData = this.layer.getEncodedData();
|
|
109
|
-
|
|
110
|
-
var _this$calDataFrame = this.calDataFrame(this.cellLength, encodeData, this.cellProperties),
|
|
111
|
-
data = _this$calDataFrame.data,
|
|
112
|
-
width = _this$calDataFrame.width,
|
|
113
|
-
height = _this$calDataFrame.height;
|
|
114
|
-
|
|
115
|
-
this.rowCount = height; // 当前数据纹理有多少行
|
|
116
|
-
|
|
117
|
-
this.dataTexture = this.cellLength > 0 && data.length > 0 ? this.createTexture2D({
|
|
118
|
-
flipY: true,
|
|
119
|
-
data: data,
|
|
120
|
-
format: gl.LUMINANCE,
|
|
121
|
-
type: gl.FLOAT,
|
|
122
|
-
width: width,
|
|
123
|
-
height: height
|
|
124
|
-
}) : this.createTexture2D({
|
|
125
|
-
flipY: true,
|
|
126
|
-
data: [1],
|
|
127
|
-
format: gl.LUMINANCE,
|
|
128
|
-
type: gl.FLOAT,
|
|
129
|
-
width: 1,
|
|
130
|
-
height: 1
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
|
|
134
102
|
return {
|
|
135
103
|
u_heightfixed: Number(heightfixed),
|
|
136
|
-
u_dataTexture: this.dataTexture,
|
|
137
|
-
// 数据纹理 - 有数据映射的时候纹理中带数据,若没有任何数据映射时纹理是 [1]
|
|
138
|
-
u_cellTypeLayout: this.getCellTypeLayout(),
|
|
139
104
|
u_opacity: isNumber(opacity) ? opacity : 1.0,
|
|
140
105
|
u_textureBlend: textureBlend === 'normal' ? 0.0 : 1.0,
|
|
141
106
|
// 纹理支持参数
|
|
@@ -159,7 +124,7 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
159
124
|
animateOption = _ref2.animateOption;
|
|
160
125
|
|
|
161
126
|
return {
|
|
162
|
-
|
|
127
|
+
u_animate: this.animateOption2Array(animateOption),
|
|
163
128
|
u_time: this.layer.getLayerAnimateTime()
|
|
164
129
|
};
|
|
165
130
|
}
|
|
@@ -173,10 +138,9 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
173
138
|
}, {
|
|
174
139
|
key: "clearModels",
|
|
175
140
|
value: function clearModels() {
|
|
176
|
-
var _this$texture
|
|
141
|
+
var _this$texture;
|
|
177
142
|
|
|
178
143
|
(_this$texture = this.texture) === null || _this$texture === void 0 ? void 0 : _this$texture.destroy();
|
|
179
|
-
(_this$dataTexture = this.dataTexture) === null || _this$dataTexture === void 0 ? void 0 : _this$dataTexture.destroy();
|
|
180
144
|
this.iconService.off('imageUpdate', this.updateTexture);
|
|
181
145
|
}
|
|
182
146
|
}, {
|
|
@@ -215,7 +179,7 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
215
179
|
type: gl.FLOAT
|
|
216
180
|
},
|
|
217
181
|
size: 1,
|
|
218
|
-
update: function update(feature, featureIdx, vertex
|
|
182
|
+
update: function update(feature, featureIdx, vertex) {
|
|
219
183
|
return [vertex[3]];
|
|
220
184
|
}
|
|
221
185
|
}
|
|
@@ -232,7 +196,7 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
232
196
|
type: gl.FLOAT
|
|
233
197
|
},
|
|
234
198
|
size: 1,
|
|
235
|
-
update: function update(feature, featureIdx, vertex
|
|
199
|
+
update: function update(feature, featureIdx, vertex) {
|
|
236
200
|
return [vertex[5]];
|
|
237
201
|
}
|
|
238
202
|
}
|
|
@@ -249,7 +213,7 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
249
213
|
type: gl.FLOAT
|
|
250
214
|
},
|
|
251
215
|
size: 2,
|
|
252
|
-
update: function update(feature
|
|
216
|
+
update: function update(feature) {
|
|
253
217
|
var _feature$size = feature.size,
|
|
254
218
|
size = _feature$size === void 0 ? 1 : _feature$size;
|
|
255
219
|
return Array.isArray(size) ? [size[0], size[1]] : [size, 0];
|
|
@@ -287,7 +251,7 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
287
251
|
type: gl.FLOAT
|
|
288
252
|
},
|
|
289
253
|
size: 1,
|
|
290
|
-
update: function update(feature, featureIdx, vertex
|
|
254
|
+
update: function update(feature, featureIdx, vertex) {
|
|
291
255
|
return [vertex[4]];
|
|
292
256
|
}
|
|
293
257
|
}
|
|
@@ -304,7 +268,7 @@ var LineWallModel = /*#__PURE__*/function (_BaseModel) {
|
|
|
304
268
|
type: gl.FLOAT
|
|
305
269
|
},
|
|
306
270
|
size: 2,
|
|
307
|
-
update: function update(feature
|
|
271
|
+
update: function update(feature) {
|
|
308
272
|
var iconMap = _this2.iconService.getIconMap();
|
|
309
273
|
|
|
310
274
|
var texture = feature.texture;
|
|
@@ -48,6 +48,8 @@ vec2 midPoint(vec2 source, vec2 target, float arcThetaOffset) {
|
|
|
48
48
|
// return mid;
|
|
49
49
|
}
|
|
50
50
|
float getSegmentRatio(float index) {
|
|
51
|
+
// dash: index / (segmentNumber - 1.);
|
|
52
|
+
// normal: smoothstep(0.0, 1.0, index / (segmentNumber - 1.));
|
|
51
53
|
return index / (segmentNumber - 1.);
|
|
52
54
|
}
|
|
53
55
|
vec2 interpolate (vec2 source, vec2 target, float t, float arcThetaOffset) {
|
|
@@ -9,7 +9,7 @@ varying vec4 v_dash_array;
|
|
|
9
9
|
#pragma include "picking"
|
|
10
10
|
|
|
11
11
|
uniform float u_time;
|
|
12
|
-
uniform vec4
|
|
12
|
+
uniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ]; // 控制运动
|
|
13
13
|
|
|
14
14
|
varying mat4 styleMappingMat;
|
|
15
15
|
// [animate, duration, interval, trailLength],
|
|
@@ -7,7 +7,7 @@ attribute vec4 a_Instance;
|
|
|
7
7
|
attribute float a_Size;
|
|
8
8
|
uniform mat4 u_ModelMatrix;
|
|
9
9
|
uniform float segmentNumber;
|
|
10
|
-
uniform vec4
|
|
10
|
+
uniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];
|
|
11
11
|
varying vec4 v_color;
|
|
12
12
|
varying vec2 v_normal;
|
|
13
13
|
|
|
@@ -98,7 +98,7 @@ void main() {
|
|
|
98
98
|
float total_Distance = pixelDistance(a_Instance.rg, a_Instance.ba);
|
|
99
99
|
v_dash_array = pow(2.0, 20.0 - u_Zoom) * u_dash_array / (total_Distance / segmentNumber * segmentIndex);
|
|
100
100
|
}
|
|
101
|
-
if(
|
|
101
|
+
if(u_animate.x == Animate) {
|
|
102
102
|
v_distance_ratio = segmentIndex / segmentNumber;
|
|
103
103
|
}
|
|
104
104
|
float nextSegmentRatio = getSegmentRatio(segmentIndex + indexDir);
|
|
@@ -20,7 +20,7 @@ uniform float segmentNumber;
|
|
|
20
20
|
varying vec2 v_iconMapUV;
|
|
21
21
|
|
|
22
22
|
uniform float u_time;
|
|
23
|
-
uniform vec4
|
|
23
|
+
uniform vec4 u_animate: [ 1., 2., 1.0, 0.2 ];
|
|
24
24
|
|
|
25
25
|
varying mat4 styleMappingMat;
|
|
26
26
|
|
|
@@ -42,16 +42,16 @@ void main() {
|
|
|
42
42
|
gl_FragColor.a *=flag;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
if(
|
|
46
|
-
animateSpeed = u_time /
|
|
47
|
-
float alpha =1.0 - fract( mod(1.0- d_distance_ratio,
|
|
45
|
+
if(u_animate.x == Animate && u_line_texture != LineTexture) {
|
|
46
|
+
animateSpeed = u_time / u_animate.y;
|
|
47
|
+
float alpha =1.0 - fract( mod(1.0- d_distance_ratio, u_animate.z)* (1.0/ u_animate.z) + u_time / u_animate.y);
|
|
48
48
|
|
|
49
|
-
alpha = (alpha +
|
|
49
|
+
alpha = (alpha + u_animate.w -1.0) / u_animate.w;
|
|
50
50
|
// alpha = smoothstep(0., 1., alpha);
|
|
51
51
|
alpha = clamp(alpha, 0.0, 1.0);
|
|
52
52
|
gl_FragColor.a *= alpha;
|
|
53
53
|
|
|
54
|
-
//
|
|
54
|
+
// u_animate
|
|
55
55
|
// x enable
|
|
56
56
|
// y duration
|
|
57
57
|
// z interval
|
|
@@ -64,8 +64,8 @@ void main() {
|
|
|
64
64
|
float count = styleMappingMat[3].b; // // 贴图在弧线上重复的数量
|
|
65
65
|
|
|
66
66
|
float time = 0.0;
|
|
67
|
-
if(
|
|
68
|
-
time = u_time /
|
|
67
|
+
if(u_animate.x == Animate) {
|
|
68
|
+
time = u_time / u_animate.y;
|
|
69
69
|
}
|
|
70
70
|
float redioCount = arcRadio * count;
|
|
71
71
|
|
|
@@ -75,9 +75,9 @@ void main() {
|
|
|
75
75
|
vec2 uv= v_iconMapUV / u_textSize + vec2(u, v) / u_textSize * 64.;
|
|
76
76
|
vec4 pattern = texture2D(u_texture, uv);
|
|
77
77
|
|
|
78
|
-
if(
|
|
78
|
+
if(u_animate.x == Animate) {
|
|
79
79
|
float currentPlane = floor(redioCount - time);
|
|
80
|
-
float textureStep = floor(count *
|
|
80
|
+
float textureStep = floor(count * u_animate.z);
|
|
81
81
|
float a = mod(currentPlane, textureStep);
|
|
82
82
|
if(a < textureStep - 1.0) {
|
|
83
83
|
pattern = vec4(0.0);
|