@antv/l7-layers 2.9.16 → 2.9.17-alpha.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/Geometry/index.js +12 -2
- package/es/Geometry/index.js.map +1 -1
- package/es/Geometry/models/billboard.d.ts +3 -3
- package/es/Geometry/models/billboard.js +11 -6
- package/es/Geometry/models/billboard.js.map +1 -1
- package/es/Geometry/models/plane.d.ts +3 -3
- package/es/Geometry/models/plane.js +12 -7
- package/es/Geometry/models/plane.js.map +1 -1
- package/es/Geometry/models/sprite.d.ts +3 -3
- package/es/Geometry/models/sprite.js +11 -6
- package/es/Geometry/models/sprite.js.map +1 -1
- package/es/canvas/index.js +12 -2
- package/es/canvas/index.js.map +1 -1
- package/es/citybuliding/building.js +12 -2
- package/es/citybuliding/building.js.map +1 -1
- package/es/citybuliding/models/build.d.ts +2 -1
- package/es/citybuliding/models/build.js +16 -3
- package/es/citybuliding/models/build.js.map +1 -1
- package/es/core/BaseLayer.d.ts +1 -1
- package/es/core/BaseLayer.js +97 -58
- package/es/core/BaseLayer.js.map +1 -1
- package/es/core/BaseModel.d.ts +2 -2
- package/es/core/BaseModel.js +2 -2
- package/es/core/BaseModel.js.map +1 -1
- package/es/core/interface.d.ts +2 -0
- package/es/core/interface.js.map +1 -1
- package/es/core/triangulation.js +1 -2
- package/es/core/triangulation.js.map +1 -1
- package/es/earth/index.js +8 -2
- package/es/earth/index.js.map +1 -1
- package/es/earth/models/atmosphere.d.ts +2 -2
- package/es/earth/models/atmosphere.js +11 -6
- package/es/earth/models/atmosphere.js.map +1 -1
- package/es/earth/models/base.d.ts +2 -2
- package/es/earth/models/base.js +11 -6
- package/es/earth/models/base.js.map +1 -1
- package/es/earth/models/bloomsphere.d.ts +2 -2
- package/es/earth/models/bloomsphere.js +11 -6
- package/es/earth/models/bloomsphere.js.map +1 -1
- package/es/heatmap/index.js +17 -5
- package/es/heatmap/index.js.map +1 -1
- package/es/heatmap/models/grid.d.ts +2 -2
- package/es/heatmap/models/grid.js +12 -8
- package/es/heatmap/models/grid.js.map +1 -1
- package/es/heatmap/models/grid3d.d.ts +2 -2
- package/es/heatmap/models/grid3d.js +12 -6
- package/es/heatmap/models/grid3d.js.map +1 -1
- package/es/heatmap/models/heatmap.d.ts +2 -2
- package/es/heatmap/models/heatmap.js +112 -62
- package/es/heatmap/models/heatmap.js.map +1 -1
- package/es/heatmap/models/hexagon.d.ts +2 -2
- package/es/heatmap/models/hexagon.js +11 -6
- package/es/heatmap/models/hexagon.js.map +1 -1
- package/es/image/index.js +12 -2
- package/es/image/index.js.map +1 -1
- package/es/image/models/image.d.ts +3 -3
- package/es/image/models/image.js +11 -7
- package/es/image/models/image.js.map +1 -1
- package/es/line/index.d.ts +0 -2
- package/es/line/index.js +12 -5
- package/es/line/index.js.map +1 -1
- package/es/line/models/arc.d.ts +2 -2
- package/es/line/models/arc.js +14 -9
- package/es/line/models/arc.js.map +1 -1
- package/es/line/models/arc_3d.d.ts +2 -2
- package/es/line/models/arc_3d.js +13 -8
- package/es/line/models/arc_3d.js.map +1 -1
- package/es/line/models/earthArc_3d.d.ts +2 -2
- package/es/line/models/earthArc_3d.js +17 -9
- package/es/line/models/earthArc_3d.js.map +1 -1
- package/es/line/models/great_circle.d.ts +2 -2
- package/es/line/models/great_circle.js +11 -6
- package/es/line/models/great_circle.js.map +1 -1
- package/es/line/models/half.d.ts +2 -2
- package/es/line/models/half.js +46 -29
- package/es/line/models/half.js.map +1 -1
- package/es/line/models/index.d.ts +1 -1
- package/es/line/models/index.js +0 -2
- package/es/line/models/index.js.map +1 -1
- package/es/line/models/line.d.ts +2 -2
- package/es/line/models/line.js +27 -15
- package/es/line/models/line.js.map +1 -1
- package/es/line/models/linearline.d.ts +2 -11
- package/es/line/models/linearline.js +14 -24
- package/es/line/models/linearline.js.map +1 -1
- package/es/line/models/simpleLine.d.ts +2 -2
- package/es/line/models/simpleLine.js +13 -8
- package/es/line/models/simpleLine.js.map +1 -1
- package/es/line/models/tile.d.ts +2 -11
- package/es/line/models/tile.js +45 -39
- package/es/line/models/tile.js.map +1 -1
- package/es/line/models/wall.d.ts +2 -2
- package/es/line/models/wall.js +13 -9
- package/es/line/models/wall.js.map +1 -1
- package/es/mask/index.js +12 -2
- package/es/mask/index.js.map +1 -1
- package/es/mask/models/fill.d.ts +2 -2
- package/es/mask/models/fill.js +53 -27
- package/es/mask/models/fill.js.map +1 -1
- package/es/plugins/DataMappingPlugin.js +29 -8
- package/es/plugins/DataMappingPlugin.js.map +1 -1
- package/es/plugins/DataSourcePlugin.js +14 -5
- package/es/plugins/DataSourcePlugin.js.map +1 -1
- package/es/plugins/LayerModelPlugin.d.ts +2 -0
- package/es/plugins/LayerModelPlugin.js +33 -7
- package/es/plugins/LayerModelPlugin.js.map +1 -1
- package/es/plugins/PixelPickingPlugin.js +16 -13
- package/es/plugins/PixelPickingPlugin.js.map +1 -1
- package/es/point/index.d.ts +1 -1
- package/es/point/index.js +15 -8
- package/es/point/index.js.map +1 -1
- package/es/point/models/earthExtrude.d.ts +2 -2
- package/es/point/models/earthExtrude.js +16 -14
- package/es/point/models/earthExtrude.js.map +1 -1
- package/es/point/models/earthFill.d.ts +2 -11
- package/es/point/models/earthFill.js +13 -22
- package/es/point/models/earthFill.js.map +1 -1
- package/es/point/models/extrude.d.ts +2 -2
- package/es/point/models/extrude.js +49 -27
- package/es/point/models/extrude.js.map +1 -1
- package/es/point/models/fill.d.ts +2 -2
- package/es/point/models/fill.js +59 -41
- package/es/point/models/fill.js.map +1 -1
- package/es/point/models/fillmage.d.ts +2 -7
- package/es/point/models/fillmage.js +13 -22
- package/es/point/models/fillmage.js.map +1 -1
- package/es/point/models/image.d.ts +2 -2
- package/es/point/models/image.js +11 -6
- package/es/point/models/image.js.map +1 -1
- package/es/point/models/index.d.ts +1 -1
- package/es/point/models/index.js +0 -2
- package/es/point/models/index.js.map +1 -1
- package/es/point/models/normal.d.ts +2 -2
- package/es/point/models/normal.js +11 -6
- package/es/point/models/normal.js.map +1 -1
- package/es/point/models/radar.d.ts +2 -11
- package/es/point/models/radar.js +13 -22
- package/es/point/models/radar.js.map +1 -1
- package/es/point/models/simplePoint.d.ts +2 -2
- package/es/point/models/simplePoint.js +11 -6
- package/es/point/models/simplePoint.js.map +1 -1
- package/es/point/models/text.d.ts +3 -2
- package/es/point/models/text.js +108 -75
- package/es/point/models/text.js.map +1 -1
- package/es/point/models/tile.d.ts +2 -11
- package/es/point/models/tile.js +22 -25
- package/es/point/models/tile.js.map +1 -1
- package/es/polygon/index.js +12 -2
- package/es/polygon/index.js.map +1 -1
- package/es/polygon/models/extrude.d.ts +2 -2
- package/es/polygon/models/extrude.js +10 -5
- package/es/polygon/models/extrude.js.map +1 -1
- package/es/polygon/models/fill.d.ts +2 -2
- package/es/polygon/models/fill.js +27 -13
- package/es/polygon/models/fill.js.map +1 -1
- package/es/polygon/models/ocean.d.ts +2 -2
- package/es/polygon/models/ocean.js +12 -6
- package/es/polygon/models/ocean.js.map +1 -1
- package/es/polygon/models/tile.d.ts +2 -3
- package/es/polygon/models/tile.js +17 -27
- package/es/polygon/models/tile.js.map +1 -1
- package/es/polygon/models/water.d.ts +2 -2
- package/es/polygon/models/water.js +12 -6
- package/es/polygon/models/water.js.map +1 -1
- package/es/raster/index.js +12 -2
- package/es/raster/index.js.map +1 -1
- package/es/raster/models/raster.d.ts +3 -3
- package/es/raster/models/raster.js +11 -7
- package/es/raster/models/raster.js.map +1 -1
- package/es/tile/manager/tileLayerManager.js +4 -1
- package/es/tile/manager/tileLayerManager.js.map +1 -1
- package/es/tile/manager/tilePickerManager.js +1 -0
- package/es/tile/manager/tilePickerManager.js.map +1 -1
- package/es/tile/tileFactory/base.js.map +1 -1
- package/es/tile/tileFactory/point.js.map +1 -1
- package/es/tile/tileFactory/rasterDataLayer.js +12 -2
- package/es/tile/tileFactory/rasterDataLayer.js.map +1 -1
- package/es/tile/tileFactory/vectorLayer.js +12 -2
- package/es/tile/tileFactory/vectorLayer.js.map +1 -1
- package/es/wind/index.js +12 -2
- package/es/wind/index.js.map +1 -1
- package/es/wind/models/wind.d.ts +2 -2
- package/es/wind/models/wind.js +14 -7
- package/es/wind/models/wind.js.map +1 -1
- package/lib/Geometry/index.js +12 -2
- package/lib/Geometry/index.js.map +1 -1
- package/lib/Geometry/models/billboard.js +11 -6
- package/lib/Geometry/models/billboard.js.map +1 -1
- package/lib/Geometry/models/plane.js +12 -7
- package/lib/Geometry/models/plane.js.map +1 -1
- package/lib/Geometry/models/sprite.js +11 -6
- package/lib/Geometry/models/sprite.js.map +1 -1
- package/lib/canvas/index.js +12 -2
- package/lib/canvas/index.js.map +1 -1
- package/lib/citybuliding/building.js +12 -2
- package/lib/citybuliding/building.js.map +1 -1
- package/lib/citybuliding/models/build.js +16 -3
- package/lib/citybuliding/models/build.js.map +1 -1
- package/lib/core/BaseLayer.js +96 -57
- package/lib/core/BaseLayer.js.map +1 -1
- package/lib/core/BaseModel.js +2 -2
- package/lib/core/BaseModel.js.map +1 -1
- package/lib/core/interface.js.map +1 -1
- package/lib/core/triangulation.js +4 -6
- package/lib/core/triangulation.js.map +1 -1
- package/lib/earth/index.js +8 -2
- package/lib/earth/index.js.map +1 -1
- package/lib/earth/models/atmosphere.js +11 -6
- package/lib/earth/models/atmosphere.js.map +1 -1
- package/lib/earth/models/base.js +11 -6
- package/lib/earth/models/base.js.map +1 -1
- package/lib/earth/models/bloomsphere.js +11 -6
- package/lib/earth/models/bloomsphere.js.map +1 -1
- package/lib/heatmap/index.js +17 -5
- package/lib/heatmap/index.js.map +1 -1
- package/lib/heatmap/models/grid.js +12 -8
- package/lib/heatmap/models/grid.js.map +1 -1
- package/lib/heatmap/models/grid3d.js +12 -6
- package/lib/heatmap/models/grid3d.js.map +1 -1
- package/lib/heatmap/models/heatmap.js +113 -62
- package/lib/heatmap/models/heatmap.js.map +1 -1
- package/lib/heatmap/models/hexagon.js +11 -6
- package/lib/heatmap/models/hexagon.js.map +1 -1
- package/lib/image/index.js +12 -2
- package/lib/image/index.js.map +1 -1
- package/lib/image/models/image.js +11 -7
- package/lib/image/models/image.js.map +1 -1
- package/lib/line/index.js +12 -5
- package/lib/line/index.js.map +1 -1
- package/lib/line/models/arc.js +14 -9
- package/lib/line/models/arc.js.map +1 -1
- package/lib/line/models/arc_3d.js +13 -8
- package/lib/line/models/arc_3d.js.map +1 -1
- package/lib/line/models/earthArc_3d.js +17 -9
- package/lib/line/models/earthArc_3d.js.map +1 -1
- package/lib/line/models/great_circle.js +11 -6
- package/lib/line/models/great_circle.js.map +1 -1
- package/lib/line/models/half.js +48 -29
- package/lib/line/models/half.js.map +1 -1
- package/lib/line/models/index.js +0 -3
- package/lib/line/models/index.js.map +1 -1
- package/lib/line/models/line.js +28 -17
- package/lib/line/models/line.js.map +1 -1
- package/lib/line/models/linearline.js +14 -24
- package/lib/line/models/linearline.js.map +1 -1
- package/lib/line/models/simpleLine.js +13 -8
- package/lib/line/models/simpleLine.js.map +1 -1
- package/lib/line/models/tile.js +47 -39
- package/lib/line/models/tile.js.map +1 -1
- package/lib/line/models/wall.js +13 -9
- package/lib/line/models/wall.js.map +1 -1
- package/lib/mask/index.js +12 -2
- package/lib/mask/index.js.map +1 -1
- package/lib/mask/models/fill.js +55 -27
- package/lib/mask/models/fill.js.map +1 -1
- package/lib/plugins/DataMappingPlugin.js +29 -8
- package/lib/plugins/DataMappingPlugin.js.map +1 -1
- package/lib/plugins/DataSourcePlugin.js +13 -4
- package/lib/plugins/DataSourcePlugin.js.map +1 -1
- package/lib/plugins/LayerModelPlugin.js +33 -7
- package/lib/plugins/LayerModelPlugin.js.map +1 -1
- package/lib/plugins/PixelPickingPlugin.js +16 -13
- package/lib/plugins/PixelPickingPlugin.js.map +1 -1
- package/lib/point/index.js +15 -8
- package/lib/point/index.js.map +1 -1
- package/lib/point/models/earthExtrude.js +16 -15
- package/lib/point/models/earthExtrude.js.map +1 -1
- package/lib/point/models/earthFill.js +13 -22
- package/lib/point/models/earthFill.js.map +1 -1
- package/lib/point/models/extrude.js +51 -28
- package/lib/point/models/extrude.js.map +1 -1
- package/lib/point/models/fill.js +61 -42
- package/lib/point/models/fill.js.map +1 -1
- package/lib/point/models/fillmage.js +13 -22
- package/lib/point/models/fillmage.js.map +1 -1
- package/lib/point/models/image.js +11 -6
- package/lib/point/models/image.js.map +1 -1
- package/lib/point/models/index.js +0 -3
- package/lib/point/models/index.js.map +1 -1
- package/lib/point/models/normal.js +11 -6
- package/lib/point/models/normal.js.map +1 -1
- package/lib/point/models/radar.js +13 -22
- package/lib/point/models/radar.js.map +1 -1
- package/lib/point/models/simplePoint.js +11 -6
- package/lib/point/models/simplePoint.js.map +1 -1
- package/lib/point/models/text.js +110 -78
- package/lib/point/models/text.js.map +1 -1
- package/lib/point/models/tile.js +22 -25
- package/lib/point/models/tile.js.map +1 -1
- package/lib/polygon/index.js +12 -2
- package/lib/polygon/index.js.map +1 -1
- package/lib/polygon/models/extrude.js +10 -5
- package/lib/polygon/models/extrude.js.map +1 -1
- package/lib/polygon/models/fill.js +25 -11
- package/lib/polygon/models/fill.js.map +1 -1
- package/lib/polygon/models/ocean.js +12 -6
- package/lib/polygon/models/ocean.js.map +1 -1
- package/lib/polygon/models/tile.js +17 -27
- package/lib/polygon/models/tile.js.map +1 -1
- package/lib/polygon/models/water.js +12 -6
- package/lib/polygon/models/water.js.map +1 -1
- package/lib/raster/index.js +12 -2
- package/lib/raster/index.js.map +1 -1
- package/lib/raster/models/raster.js +11 -7
- package/lib/raster/models/raster.js.map +1 -1
- package/lib/tile/manager/tileLayerManager.js +4 -1
- package/lib/tile/manager/tileLayerManager.js.map +1 -1
- package/lib/tile/manager/tilePickerManager.js +1 -0
- package/lib/tile/manager/tilePickerManager.js.map +1 -1
- package/lib/tile/tileFactory/base.js.map +1 -1
- package/lib/tile/tileFactory/point.js.map +1 -1
- package/lib/tile/tileFactory/rasterDataLayer.js +12 -2
- package/lib/tile/tileFactory/rasterDataLayer.js.map +1 -1
- package/lib/tile/tileFactory/vectorLayer.js +12 -2
- package/lib/tile/tileFactory/vectorLayer.js.map +1 -1
- package/lib/wind/index.js +12 -2
- package/lib/wind/index.js.map +1 -1
- package/lib/wind/models/wind.js +14 -7
- package/lib/wind/models/wind.js.map +1 -1
- package/package.json +9 -8
- package/es/line/models/arcmini.d.ts +0 -9
- package/es/line/models/arcmini.js +0 -145
- package/es/line/models/arcmini.js.map +0 -1
- package/es/point/models/icon-font.d.ts +0 -11
- package/es/point/models/icon-font.js +0 -181
- package/es/point/models/icon-font.js.map +0 -1
- package/es/raster/image.d.ts +0 -0
- package/es/raster/image.js +0 -2
- package/es/raster/image.js.map +0 -1
- package/es/raster/raster2d.d.ts +0 -27
- package/es/raster/raster2d.js +0 -158
- package/es/raster/raster2d.js.map +0 -1
- package/es/utils/geo.d.ts +0 -12
- package/es/utils/geo.js +0 -53
- package/es/utils/geo.js.map +0 -1
- package/lib/line/models/arcmini.js +0 -161
- package/lib/line/models/arcmini.js.map +0 -1
- package/lib/point/models/icon-font.js +0 -196
- package/lib/point/models/icon-font.js.map +0 -1
- package/lib/raster/image.js +0 -2
- package/lib/raster/image.js.map +0 -1
- package/lib/raster/raster2d.js +0 -172
- package/lib/raster/raster2d.js.map +0 -1
- package/lib/utils/geo.js +0 -65
- package/lib/utils/geo.js.map +0 -1
|
@@ -59,29 +59,35 @@ var Grid3DModel = function (_BaseModel) {
|
|
|
59
59
|
}
|
|
60
60
|
}, {
|
|
61
61
|
key: "initModels",
|
|
62
|
-
value: function initModels() {
|
|
63
|
-
|
|
62
|
+
value: function initModels(callbackModel) {
|
|
63
|
+
this.buildModels(callbackModel);
|
|
64
64
|
}
|
|
65
65
|
}, {
|
|
66
66
|
key: "buildModels",
|
|
67
|
-
value: function buildModels() {
|
|
67
|
+
value: function buildModels(callbackModel) {
|
|
68
68
|
var _ref2 = this.layer.getLayerConfig(),
|
|
69
69
|
_ref2$mask = _ref2.mask,
|
|
70
70
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
71
71
|
_ref2$maskInside = _ref2.maskInside,
|
|
72
72
|
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
moduleName: '
|
|
74
|
+
this.layer.buildLayerModel({
|
|
75
|
+
moduleName: 'heatmapGrid3d',
|
|
76
76
|
vertexShader: heatmapGrid3dVert,
|
|
77
77
|
fragmentShader: heatmapGridFrag,
|
|
78
78
|
triangulation: _triangulation.PointExtrudeTriangulation,
|
|
79
|
+
primitive: _l7Core.gl.TRIANGLES,
|
|
79
80
|
depth: {
|
|
80
81
|
enable: true
|
|
81
82
|
},
|
|
82
83
|
blend: this.getBlend(),
|
|
83
84
|
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
84
|
-
})
|
|
85
|
+
}).then(function (model) {
|
|
86
|
+
callbackModel([model]);
|
|
87
|
+
}).catch(function (err) {
|
|
88
|
+
console.warn(err);
|
|
89
|
+
callbackModel([]);
|
|
90
|
+
});
|
|
85
91
|
}
|
|
86
92
|
}, {
|
|
87
93
|
key: "registerBuiltinAttributes",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/heatmap/models/grid3d.ts"],"names":["Grid3DModel","layer","getLayerConfig","opacity","coverage","angle","u_opacity","u_coverage","u_angle","u_radius","getSource","data","xOffset","yOffset","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","heatmapGrid3dVert","fragmentShader","heatmapGridFrag","triangulation","PointExtrudeTriangulation","depth","enable","blend","getBlend","stencil","styleAttributeService","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","
|
|
1
|
+
{"version":3,"sources":["../../../src/heatmap/models/grid3d.ts"],"names":["Grid3DModel","layer","getLayerConfig","opacity","coverage","angle","u_opacity","u_coverage","u_angle","u_radius","getSource","data","xOffset","yOffset","callbackModel","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","heatmapGrid3dVert","fragmentShader","heatmapGridFrag","triangulation","PointExtrudeTriangulation","primitive","gl","TRIANGLES","depth","enable","blend","getBlend","stencil","then","model","catch","err","console","warn","styleAttributeService","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","Array","isArray","STATIC_DRAW","normal","coordinates","version","originCoordinates","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IHeatMapLayerStyleOptions } from '../../core/interface';\nimport { PointExtrudeTriangulation } from '../../core/triangulation';\nimport heatmapGrid3dVert from '../shaders/hexagon_3d_vert.glsl';\nimport heatmapGridFrag from '../shaders/hexagon_frag.glsl';\nexport default class Grid3DModel extends BaseModel {\n public getUninforms(): IModelUniform {\n const {\n opacity,\n coverage,\n angle,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n return {\n u_opacity: opacity || 1.0,\n u_coverage: coverage || 1.0,\n u_angle: angle || 0,\n u_radius: [\n this.layer.getSource().data.xOffset,\n this.layer.getSource().data.yOffset,\n ],\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.layer\n .buildLayerModel({\n moduleName: 'heatmapGrid3d',\n vertexShader: heatmapGrid3dVert,\n fragmentShader: heatmapGridFrag,\n triangulation: PointExtrudeTriangulation,\n primitive: gl.TRIANGLES,\n depth: { enable: true },\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n protected registerBuiltinAttributes() {\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'size',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Size',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 1,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size } = feature;\n return Array.isArray(size) ? [size[0]] : [size as number];\n },\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 this.styleAttributeService.registerStyleAttribute({\n name: 'pos', // 顶点经纬度位置\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Pos',\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: (feature: IEncodeFeature, featureIdx: number) => {\n const coordinates = (feature.version === 'GAODE2.x'\n ? feature.originCoordinates\n : feature.coordinates) as number[];\n // const coordinates = feature.coordinates as number[];\n // const coordinates = feature.originCoordinates as number[];\n return [coordinates[0], coordinates[1], 0];\n },\n },\n });\n }\n}\n"],"file":"grid3d.js"}
|
|
@@ -7,8 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
|
|
10
12
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
13
|
|
|
14
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
|
+
|
|
12
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
17
|
|
|
14
18
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -111,43 +115,59 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = function
|
|
|
111
115
|
}
|
|
112
116
|
}, {
|
|
113
117
|
key: "initModels",
|
|
114
|
-
value: function
|
|
115
|
-
var
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
118
|
+
value: function () {
|
|
119
|
+
var _initModels = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(callbackModel) {
|
|
120
|
+
var _shapeAttr$scale;
|
|
121
|
+
|
|
122
|
+
var _this$rendererService2, createFramebuffer, clear, getViewportSize, createTexture2D, useFramebuffer, shapeAttr, shapeType, _getViewportSize, width, height;
|
|
123
|
+
|
|
124
|
+
return _regenerator.default.wrap(function _callee$(_context) {
|
|
125
|
+
while (1) {
|
|
126
|
+
switch (_context.prev = _context.next) {
|
|
127
|
+
case 0:
|
|
128
|
+
_this$rendererService2 = this.rendererService, createFramebuffer = _this$rendererService2.createFramebuffer, clear = _this$rendererService2.clear, getViewportSize = _this$rendererService2.getViewportSize, createTexture2D = _this$rendererService2.createTexture2D, useFramebuffer = _this$rendererService2.useFramebuffer;
|
|
129
|
+
shapeAttr = this.styleAttributeService.getLayerStyleAttribute('shape');
|
|
130
|
+
shapeType = (shapeAttr === null || shapeAttr === void 0 ? void 0 : (_shapeAttr$scale = shapeAttr.scale) === null || _shapeAttr$scale === void 0 ? void 0 : _shapeAttr$scale.field) || 'heatmap';
|
|
131
|
+
this.shapeType = shapeType;
|
|
132
|
+
_context.next = 6;
|
|
133
|
+
return this.buildHeatMapIntensity();
|
|
134
|
+
|
|
135
|
+
case 6:
|
|
136
|
+
this.intensityModel = _context.sent;
|
|
137
|
+
this.colorModel = shapeType === 'heatmap' ? this.buildHeatmapColor() : this.build3dHeatMap();
|
|
138
|
+
_getViewportSize = getViewportSize(), width = _getViewportSize.width, height = _getViewportSize.height;
|
|
139
|
+
this.heatmapFramerBuffer = createFramebuffer({
|
|
140
|
+
color: createTexture2D({
|
|
141
|
+
width: Math.floor(width / 4),
|
|
142
|
+
height: Math.floor(height / 4),
|
|
143
|
+
wrapS: _l7Core.gl.CLAMP_TO_EDGE,
|
|
144
|
+
wrapT: _l7Core.gl.CLAMP_TO_EDGE,
|
|
145
|
+
min: _l7Core.gl.LINEAR,
|
|
146
|
+
mag: _l7Core.gl.LINEAR
|
|
147
|
+
}),
|
|
148
|
+
depth: false
|
|
149
|
+
});
|
|
150
|
+
this.updateColorTexture();
|
|
151
|
+
callbackModel([this.intensityModel, this.colorModel]);
|
|
152
|
+
|
|
153
|
+
case 12:
|
|
154
|
+
case "end":
|
|
155
|
+
return _context.stop();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}, _callee, this);
|
|
159
|
+
}));
|
|
160
|
+
|
|
161
|
+
function initModels(_x) {
|
|
162
|
+
return _initModels.apply(this, arguments);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return initModels;
|
|
166
|
+
}()
|
|
147
167
|
}, {
|
|
148
168
|
key: "buildModels",
|
|
149
|
-
value: function buildModels() {
|
|
150
|
-
|
|
169
|
+
value: function buildModels(callbackModel) {
|
|
170
|
+
this.initModels(callbackModel);
|
|
151
171
|
}
|
|
152
172
|
}, {
|
|
153
173
|
key: "registerBuiltinAttributes",
|
|
@@ -189,31 +209,56 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = function
|
|
|
189
209
|
}
|
|
190
210
|
}, {
|
|
191
211
|
key: "buildHeatMapIntensity",
|
|
192
|
-
value: function
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
212
|
+
value: function () {
|
|
213
|
+
var _buildHeatMapIntensity = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2() {
|
|
214
|
+
var model;
|
|
215
|
+
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
216
|
+
while (1) {
|
|
217
|
+
switch (_context2.prev = _context2.next) {
|
|
218
|
+
case 0:
|
|
219
|
+
this.layer.triangulation = _triangulation.HeatmapTriangulation;
|
|
220
|
+
_context2.next = 3;
|
|
221
|
+
return this.layer.buildLayerModel({
|
|
222
|
+
moduleName: 'heatmapIntensity',
|
|
223
|
+
vertexShader: heatmapFramebufferVert,
|
|
224
|
+
fragmentShader: heatmapFramebufferFrag,
|
|
225
|
+
triangulation: _triangulation.HeatmapTriangulation,
|
|
226
|
+
depth: {
|
|
227
|
+
enable: false
|
|
228
|
+
},
|
|
229
|
+
cull: {
|
|
230
|
+
enable: true,
|
|
231
|
+
face: (0, _l7Utils.getCullFace)(this.mapService.version)
|
|
232
|
+
},
|
|
233
|
+
blend: {
|
|
234
|
+
enable: true,
|
|
235
|
+
func: {
|
|
236
|
+
srcRGB: _l7Core.gl.ONE,
|
|
237
|
+
srcAlpha: 1,
|
|
238
|
+
dstRGB: _l7Core.gl.ONE,
|
|
239
|
+
dstAlpha: 1
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
case 3:
|
|
245
|
+
model = _context2.sent;
|
|
246
|
+
return _context2.abrupt("return", model);
|
|
247
|
+
|
|
248
|
+
case 5:
|
|
249
|
+
case "end":
|
|
250
|
+
return _context2.stop();
|
|
251
|
+
}
|
|
213
252
|
}
|
|
214
|
-
}
|
|
215
|
-
});
|
|
216
|
-
|
|
253
|
+
}, _callee2, this);
|
|
254
|
+
}));
|
|
255
|
+
|
|
256
|
+
function buildHeatMapIntensity() {
|
|
257
|
+
return _buildHeatMapIntensity.apply(this, arguments);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
return buildHeatMapIntensity;
|
|
261
|
+
}()
|
|
217
262
|
}, {
|
|
218
263
|
key: "buildHeatmapColor",
|
|
219
264
|
value: function buildHeatmapColor() {
|
|
@@ -274,6 +319,8 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = function
|
|
|
274
319
|
}, {
|
|
275
320
|
key: "drawIntensityMode",
|
|
276
321
|
value: function drawIntensityMode() {
|
|
322
|
+
var _this$intensityModel;
|
|
323
|
+
|
|
277
324
|
var _ref2 = this.layer.getLayerConfig(),
|
|
278
325
|
opacity = _ref2.opacity,
|
|
279
326
|
_ref2$intensity = _ref2.intensity,
|
|
@@ -281,7 +328,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = function
|
|
|
281
328
|
_ref2$radius = _ref2.radius,
|
|
282
329
|
radius = _ref2$radius === void 0 ? 5 : _ref2$radius;
|
|
283
330
|
|
|
284
|
-
this.intensityModel.draw({
|
|
331
|
+
(_this$intensityModel = this.intensityModel) === null || _this$intensityModel === void 0 ? void 0 : _this$intensityModel.draw({
|
|
285
332
|
uniforms: {
|
|
286
333
|
u_opacity: opacity || 1.0,
|
|
287
334
|
u_radius: radius,
|
|
@@ -292,10 +339,12 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = function
|
|
|
292
339
|
}, {
|
|
293
340
|
key: "drawColorMode",
|
|
294
341
|
value: function drawColorMode() {
|
|
342
|
+
var _this$colorModel;
|
|
343
|
+
|
|
295
344
|
var _ref3 = this.layer.getLayerConfig(),
|
|
296
345
|
opacity = _ref3.opacity;
|
|
297
346
|
|
|
298
|
-
this.colorModel.draw({
|
|
347
|
+
(_this$colorModel = this.colorModel) === null || _this$colorModel === void 0 ? void 0 : _this$colorModel.draw({
|
|
299
348
|
uniforms: {
|
|
300
349
|
u_opacity: opacity || 1.0,
|
|
301
350
|
u_colorTexture: this.colorTexture,
|
|
@@ -306,6 +355,8 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = function
|
|
|
306
355
|
}, {
|
|
307
356
|
key: "draw3DHeatMap",
|
|
308
357
|
value: function draw3DHeatMap() {
|
|
358
|
+
var _this$colorModel2;
|
|
359
|
+
|
|
309
360
|
var _ref4 = this.layer.getLayerConfig(),
|
|
310
361
|
opacity = _ref4.opacity;
|
|
311
362
|
|
|
@@ -313,7 +364,7 @@ var HeatMapModel = (_dec = (0, _inversify.injectable)(), _dec(_class = function
|
|
|
313
364
|
|
|
314
365
|
_glMatrix.mat4.invert(invert, this.cameraService.getViewProjectionMatrixUncentered());
|
|
315
366
|
|
|
316
|
-
this.colorModel.draw({
|
|
367
|
+
(_this$colorModel2 = this.colorModel) === null || _this$colorModel2 === void 0 ? void 0 : _this$colorModel2.draw({
|
|
317
368
|
uniforms: {
|
|
318
369
|
u_opacity: opacity || 1.0,
|
|
319
370
|
u_colorTexture: this.colorTexture,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/heatmap/models/heatmap.ts"],"names":["HeatMapModel","rendererService","clear","useFramebuffer","heatmapFramerBuffer","color","depth","stencil","framebuffer","drawIntensityMode","layer","styleNeedUpdate","updateColorTexture","shapeType","drawColorMode","draw3DHeatMap","Error","createFramebuffer","getViewportSize","createTexture2D","shapeAttr","styleAttributeService","getLayerStyleAttribute","scale","field","intensityModel","buildHeatMapIntensity","colorModel","buildHeatmapColor","build3dHeatMap","width","height","Math","floor","wrapS","gl","CLAMP_TO_EDGE","wrapT","min","LINEAR","mag","initModels","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","data","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","triangulation","HeatmapTriangulation","buildLayerModel","moduleName","vertexShader","heatmapFramebufferVert","fragmentShader","heatmapFramebufferFrag","enable","cull","face","mapService","version","blend","func","srcRGB","ONE","srcAlpha","dstRGB","dstAlpha","getLayerConfig","mask","maskInside","shaderModuleService","registerModule","vs","heatmapColorVert","fs","heatmapColorFrag","getModule","uniforms","createAttribute","createElements","createBuffer","createModel","attributes","a_Position","a_Uv","getBlend","count","elements","UNSIGNED_INT","opacity","intensity","radius","draw","u_opacity","u_radius","u_intensity","u_colorTexture","colorTexture","u_texture","invert","mat4","create","cameraService","getViewProjectionMatrixUncentered","u_ViewProjectionMatrixUncentered","u_InverseViewProjectionMatrix","heatmap3DVert","heatmap3DFrag","vertices","uvs","primitive","TRIANGLES","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","indices","length","texture","destroy","rampColors","imageData","Uint8Array","NEAREST","flipY","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IFramebuffer,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport {\n generateColorRamp,\n getCullFace,\n getMask,\n IColorRamp,\n} from '@antv/l7-utils';\nimport { mat4 } from 'gl-matrix';\nimport { inject, injectable } from 'inversify';\nimport 'reflect-metadata';\nimport BaseModel from '../../core/BaseModel';\nimport { IHeatMapLayerStyleOptions } from '../../core/interface';\nimport { HeatmapTriangulation } from '../../core/triangulation';\nimport heatmap3DFrag from '../shaders/heatmap_3d_frag.glsl';\nimport heatmap3DVert from '../shaders/heatmap_3d_vert.glsl';\n\n// 绘制平面热力的 shader\nimport heatmapColorFrag from '../shaders/heatmap_frag.glsl';\nimport heatmapColorVert from '../shaders/heatmap_vert.glsl';\n\nimport heatmapFramebufferFrag from '../shaders/heatmap_framebuffer_frag.glsl';\nimport heatmapFramebufferVert from '../shaders/heatmap_framebuffer_vert.glsl';\n\nimport { heatMap3DTriangulation } from '../triangulation';\n@injectable()\nexport default class HeatMapModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n protected heatmapFramerBuffer: IFramebuffer;\n private intensityModel: IModel;\n private colorModel: IModel;\n private shapeType: string;\n\n public render() {\n const { clear, useFramebuffer } = this.rendererService;\n useFramebuffer(this.heatmapFramerBuffer, () => {\n clear({\n color: [0, 0, 0, 0],\n depth: 1,\n stencil: 0,\n framebuffer: this.heatmapFramerBuffer,\n });\n this.drawIntensityMode();\n });\n if (this.layer.styleNeedUpdate) {\n this.updateColorTexture();\n }\n this.shapeType === 'heatmap' ? this.drawColorMode() : this.draw3DHeatMap();\n }\n\n public getUninforms(): IModelUniform {\n throw new Error('Method not implemented.');\n }\n\n public initModels(): IModel[] {\n const {\n createFramebuffer,\n clear,\n getViewportSize,\n createTexture2D,\n useFramebuffer,\n } = this.rendererService;\n const shapeAttr = this.styleAttributeService.getLayerStyleAttribute(\n 'shape',\n );\n const shapeType = shapeAttr?.scale?.field || 'heatmap';\n this.shapeType = shapeType as string;\n // 生成热力图密度图\n this.intensityModel = this.buildHeatMapIntensity();\n // 渲染到屏幕\n this.colorModel =\n shapeType === 'heatmap'\n ? this.buildHeatmapColor() // 2D\n : this.build3dHeatMap(); // 3D\n\n const { width, height } = getViewportSize();\n\n // 初始化密度图纹理\n this.heatmapFramerBuffer = createFramebuffer({\n color: createTexture2D({\n width: Math.floor(width / 4),\n height: Math.floor(height / 4),\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n }),\n depth: false,\n });\n\n this.updateColorTexture();\n\n return [this.intensityModel, this.colorModel];\n }\n\n public buildModels(): IModel[] {\n return this.initModels();\n }\n\n protected registerBuiltinAttributes() {\n this.styleAttributeService.registerStyleAttribute({\n name: 'dir',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Dir',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'size',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Size',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 1,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size = 1 } = feature;\n return [size as number];\n },\n },\n });\n }\n private buildHeatMapIntensity(): IModel {\n this.layer.triangulation = HeatmapTriangulation;\n return this.layer.buildLayerModel({\n moduleName: 'heatmapintensity',\n vertexShader: heatmapFramebufferVert,\n fragmentShader: heatmapFramebufferFrag,\n triangulation: HeatmapTriangulation,\n depth: {\n enable: false,\n },\n cull: {\n enable: true,\n face: getCullFace(this.mapService.version),\n },\n blend: {\n enable: true,\n func: {\n srcRGB: gl.ONE,\n srcAlpha: 1,\n dstRGB: gl.ONE,\n dstAlpha: 1,\n },\n },\n });\n }\n\n private buildHeatmapColor(): IModel {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.shaderModuleService.registerModule('heatmapColor', {\n vs: heatmapColorVert,\n fs: heatmapColorFrag,\n });\n\n const { vs, fs, uniforms } = this.shaderModuleService.getModule(\n 'heatmapColor',\n );\n const {\n createAttribute,\n createElements,\n createBuffer,\n createModel,\n } = this.rendererService;\n return createModel({\n vs,\n fs,\n attributes: {\n a_Position: createAttribute({\n buffer: createBuffer({\n data: [-1, 1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0],\n type: gl.FLOAT,\n }),\n size: 3,\n }),\n a_Uv: createAttribute({\n buffer: createBuffer({\n data: [0, 1, 1, 1, 0, 0, 1, 0],\n type: gl.FLOAT,\n }),\n size: 2,\n }),\n },\n uniforms: {\n ...uniforms,\n },\n depth: {\n enable: false,\n },\n blend: this.getBlend(),\n count: 6,\n elements: createElements({\n data: [0, 2, 1, 2, 3, 1],\n type: gl.UNSIGNED_INT,\n count: 6,\n }),\n stencil: getMask(mask, maskInside),\n });\n }\n\n private drawIntensityMode() {\n const {\n opacity,\n intensity = 10,\n radius = 5,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.intensityModel.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_radius: radius,\n u_intensity: intensity,\n },\n });\n }\n\n private drawColorMode() {\n const {\n opacity,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.colorModel.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_colorTexture: this.colorTexture,\n u_texture: this.heatmapFramerBuffer,\n },\n });\n }\n\n private draw3DHeatMap() {\n const {\n opacity,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n\n // const invert = mat4.invert(\n // mat4.create(),\n // mat4.fromValues(\n // // @ts-ignore\n // ...this.cameraService.getViewProjectionMatrixUncentered(),\n // ),\n // ) as mat4;\n const invert = mat4.create();\n mat4.invert(\n invert,\n this.cameraService.getViewProjectionMatrixUncentered() as mat4,\n );\n\n this.colorModel.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_colorTexture: this.colorTexture,\n u_texture: this.heatmapFramerBuffer,\n u_ViewProjectionMatrixUncentered: this.cameraService.getViewProjectionMatrixUncentered(),\n u_InverseViewProjectionMatrix: [...invert],\n },\n });\n }\n private build3dHeatMap() {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n const { getViewportSize } = this.rendererService;\n const { width, height } = getViewportSize();\n const triangulation = heatMap3DTriangulation(width / 4.0, height / 4.0);\n this.shaderModuleService.registerModule('heatmap3dColor', {\n vs: heatmap3DVert,\n fs: heatmap3DFrag,\n });\n\n const { vs, fs, uniforms } = this.shaderModuleService.getModule(\n 'heatmap3dColor',\n );\n const {\n createAttribute,\n createElements,\n createBuffer,\n createModel,\n } = this.rendererService;\n return createModel({\n vs,\n fs,\n attributes: {\n a_Position: createAttribute({\n buffer: createBuffer({\n data: triangulation.vertices,\n type: gl.FLOAT,\n }),\n size: 3,\n }),\n a_Uv: createAttribute({\n buffer: createBuffer({\n data: triangulation.uvs,\n type: gl.FLOAT,\n }),\n size: 2,\n }),\n },\n primitive: gl.TRIANGLES,\n uniforms: {\n ...uniforms,\n },\n depth: {\n enable: true,\n },\n blend: {\n enable: true,\n func: {\n srcRGB: gl.SRC_ALPHA,\n srcAlpha: 1,\n dstRGB: gl.ONE_MINUS_SRC_ALPHA,\n dstAlpha: 1,\n },\n },\n elements: createElements({\n data: triangulation.indices,\n type: gl.UNSIGNED_INT,\n count: triangulation.indices.length,\n }),\n stencil: getMask(mask, maskInside),\n });\n }\n private updateStyle() {\n this.updateColorTexture();\n }\n\n private updateColorTexture() {\n const { createTexture2D } = this.rendererService;\n if (this.texture) {\n this.texture.destroy();\n }\n\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: new Uint8Array(imageData.data),\n width: imageData.width,\n height: imageData.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.NEAREST,\n mag: gl.NEAREST,\n flipY: false,\n });\n }\n}\n"],"file":"heatmap.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/heatmap/models/heatmap.ts"],"names":["HeatMapModel","rendererService","clear","useFramebuffer","heatmapFramerBuffer","color","depth","stencil","framebuffer","drawIntensityMode","layer","styleNeedUpdate","updateColorTexture","shapeType","drawColorMode","draw3DHeatMap","Error","callbackModel","createFramebuffer","getViewportSize","createTexture2D","shapeAttr","styleAttributeService","getLayerStyleAttribute","scale","field","buildHeatMapIntensity","intensityModel","colorModel","buildHeatmapColor","build3dHeatMap","width","height","Math","floor","wrapS","gl","CLAMP_TO_EDGE","wrapT","min","LINEAR","mag","initModels","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","data","FLOAT","size","update","feature","featureIdx","vertex","attributeIdx","triangulation","HeatmapTriangulation","buildLayerModel","moduleName","vertexShader","heatmapFramebufferVert","fragmentShader","heatmapFramebufferFrag","enable","cull","face","mapService","version","blend","func","srcRGB","ONE","srcAlpha","dstRGB","dstAlpha","model","getLayerConfig","mask","maskInside","shaderModuleService","registerModule","vs","heatmapColorVert","fs","heatmapColorFrag","getModule","uniforms","createAttribute","createElements","createBuffer","createModel","attributes","a_Position","a_Uv","getBlend","count","elements","UNSIGNED_INT","opacity","intensity","radius","draw","u_opacity","u_radius","u_intensity","u_colorTexture","colorTexture","u_texture","invert","mat4","create","cameraService","getViewProjectionMatrixUncentered","u_ViewProjectionMatrixUncentered","u_InverseViewProjectionMatrix","heatmap3DVert","heatmap3DFrag","vertices","uvs","primitive","TRIANGLES","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","indices","length","texture","destroy","rampColors","imageData","Uint8Array","NEAREST","flipY","BaseModel"],"mappings":"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","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IFramebuffer,\n IModel,\n IModelUniform,\n ITexture2D,\n} from '@antv/l7-core';\nimport {\n generateColorRamp,\n getCullFace,\n getMask,\n IColorRamp,\n} from '@antv/l7-utils';\nimport { mat4 } from 'gl-matrix';\nimport { inject, injectable } from 'inversify';\nimport 'reflect-metadata';\nimport BaseModel from '../../core/BaseModel';\nimport { IHeatMapLayerStyleOptions } from '../../core/interface';\nimport { HeatmapTriangulation } from '../../core/triangulation';\nimport heatmap3DFrag from '../shaders/heatmap_3d_frag.glsl';\nimport heatmap3DVert from '../shaders/heatmap_3d_vert.glsl';\n\n// 绘制平面热力的 shader\nimport heatmapColorFrag from '../shaders/heatmap_frag.glsl';\nimport heatmapColorVert from '../shaders/heatmap_vert.glsl';\n\nimport heatmapFramebufferFrag from '../shaders/heatmap_framebuffer_frag.glsl';\nimport heatmapFramebufferVert from '../shaders/heatmap_framebuffer_vert.glsl';\n\nimport { heatMap3DTriangulation } from '../triangulation';\n@injectable()\nexport default class HeatMapModel extends BaseModel {\n protected texture: ITexture2D;\n protected colorTexture: ITexture2D;\n protected heatmapFramerBuffer: IFramebuffer;\n private intensityModel: IModel;\n private colorModel: IModel;\n private shapeType: string;\n\n public render() {\n const { clear, useFramebuffer } = this.rendererService;\n useFramebuffer(this.heatmapFramerBuffer, () => {\n clear({\n color: [0, 0, 0, 0],\n depth: 1,\n stencil: 0,\n framebuffer: this.heatmapFramerBuffer,\n });\n this.drawIntensityMode();\n });\n if (this.layer.styleNeedUpdate) {\n this.updateColorTexture();\n }\n this.shapeType === 'heatmap' ? this.drawColorMode() : this.draw3DHeatMap();\n }\n\n public getUninforms(): IModelUniform {\n throw new Error('Method not implemented.');\n }\n\n public async initModels(callbackModel: (models: IModel[]) => void) {\n const {\n createFramebuffer,\n clear,\n getViewportSize,\n createTexture2D,\n useFramebuffer,\n } = this.rendererService;\n const shapeAttr = this.styleAttributeService.getLayerStyleAttribute(\n 'shape',\n );\n const shapeType = shapeAttr?.scale?.field || 'heatmap';\n this.shapeType = shapeType as string;\n // 生成热力图密度图\n this.intensityModel = await this.buildHeatMapIntensity();\n // 渲染到屏幕\n this.colorModel =\n shapeType === 'heatmap'\n ? this.buildHeatmapColor() // 2D\n : this.build3dHeatMap(); // 3D\n\n const { width, height } = getViewportSize();\n\n // 初始化密度图纹理\n this.heatmapFramerBuffer = createFramebuffer({\n color: createTexture2D({\n width: Math.floor(width / 4),\n height: Math.floor(height / 4),\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.LINEAR,\n mag: gl.LINEAR,\n }),\n depth: false,\n });\n\n this.updateColorTexture();\n\n callbackModel([this.intensityModel, this.colorModel]);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n this.initModels(callbackModel);\n }\n\n protected registerBuiltinAttributes() {\n this.styleAttributeService.registerStyleAttribute({\n name: 'dir',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Dir',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 2,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n return [vertex[3], vertex[4]];\n },\n },\n });\n\n // point layer size;\n this.styleAttributeService.registerStyleAttribute({\n name: 'size',\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Size',\n buffer: {\n // give the WebGL driver a hint that this buffer may change\n usage: gl.DYNAMIC_DRAW,\n data: [],\n type: gl.FLOAT,\n },\n size: 1,\n update: (\n feature: IEncodeFeature,\n featureIdx: number,\n vertex: number[],\n attributeIdx: number,\n ) => {\n const { size = 1 } = feature;\n return [size as number];\n },\n },\n });\n }\n private async buildHeatMapIntensity() {\n this.layer.triangulation = HeatmapTriangulation;\n const model = await this.layer.buildLayerModel({\n moduleName: 'heatmapIntensity',\n vertexShader: heatmapFramebufferVert,\n fragmentShader: heatmapFramebufferFrag,\n triangulation: HeatmapTriangulation,\n depth: {\n enable: false,\n },\n cull: {\n enable: true,\n face: getCullFace(this.mapService.version),\n },\n blend: {\n enable: true,\n func: {\n srcRGB: gl.ONE,\n srcAlpha: 1,\n dstRGB: gl.ONE,\n dstAlpha: 1,\n },\n },\n });\n return model;\n }\n\n private buildHeatmapColor(): IModel {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.shaderModuleService.registerModule('heatmapColor', {\n vs: heatmapColorVert,\n fs: heatmapColorFrag,\n });\n\n const { vs, fs, uniforms } = this.shaderModuleService.getModule(\n 'heatmapColor',\n );\n const {\n createAttribute,\n createElements,\n createBuffer,\n createModel,\n } = this.rendererService;\n return createModel({\n vs,\n fs,\n attributes: {\n a_Position: createAttribute({\n buffer: createBuffer({\n data: [-1, 1, 0, 1, 1, 0, -1, -1, 0, 1, -1, 0],\n type: gl.FLOAT,\n }),\n size: 3,\n }),\n a_Uv: createAttribute({\n buffer: createBuffer({\n data: [0, 1, 1, 1, 0, 0, 1, 0],\n type: gl.FLOAT,\n }),\n size: 2,\n }),\n },\n uniforms: {\n ...uniforms,\n },\n depth: {\n enable: false,\n },\n blend: this.getBlend(),\n count: 6,\n elements: createElements({\n data: [0, 2, 1, 2, 3, 1],\n type: gl.UNSIGNED_INT,\n count: 6,\n }),\n stencil: getMask(mask, maskInside),\n });\n }\n\n private drawIntensityMode() {\n const {\n opacity,\n intensity = 10,\n radius = 5,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.intensityModel?.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_radius: radius,\n u_intensity: intensity,\n },\n });\n }\n\n private drawColorMode() {\n const {\n opacity,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.colorModel?.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_colorTexture: this.colorTexture,\n u_texture: this.heatmapFramerBuffer,\n },\n });\n }\n\n private draw3DHeatMap() {\n const {\n opacity,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n\n // const invert = mat4.invert(\n // mat4.create(),\n // mat4.fromValues(\n // // @ts-ignore\n // ...this.cameraService.getViewProjectionMatrixUncentered(),\n // ),\n // ) as mat4;\n const invert = mat4.create();\n mat4.invert(\n invert,\n this.cameraService.getViewProjectionMatrixUncentered() as mat4,\n );\n\n this.colorModel?.draw({\n uniforms: {\n u_opacity: opacity || 1.0,\n u_colorTexture: this.colorTexture,\n u_texture: this.heatmapFramerBuffer,\n u_ViewProjectionMatrixUncentered: this.cameraService.getViewProjectionMatrixUncentered(),\n u_InverseViewProjectionMatrix: [...invert],\n },\n });\n }\n private build3dHeatMap() {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n const { getViewportSize } = this.rendererService;\n const { width, height } = getViewportSize();\n const triangulation = heatMap3DTriangulation(width / 4.0, height / 4.0);\n this.shaderModuleService.registerModule('heatmap3dColor', {\n vs: heatmap3DVert,\n fs: heatmap3DFrag,\n });\n\n const { vs, fs, uniforms } = this.shaderModuleService.getModule(\n 'heatmap3dColor',\n );\n const {\n createAttribute,\n createElements,\n createBuffer,\n createModel,\n } = this.rendererService;\n return createModel({\n vs,\n fs,\n attributes: {\n a_Position: createAttribute({\n buffer: createBuffer({\n data: triangulation.vertices,\n type: gl.FLOAT,\n }),\n size: 3,\n }),\n a_Uv: createAttribute({\n buffer: createBuffer({\n data: triangulation.uvs,\n type: gl.FLOAT,\n }),\n size: 2,\n }),\n },\n primitive: gl.TRIANGLES,\n uniforms: {\n ...uniforms,\n },\n depth: {\n enable: true,\n },\n blend: {\n enable: true,\n func: {\n srcRGB: gl.SRC_ALPHA,\n srcAlpha: 1,\n dstRGB: gl.ONE_MINUS_SRC_ALPHA,\n dstAlpha: 1,\n },\n },\n elements: createElements({\n data: triangulation.indices,\n type: gl.UNSIGNED_INT,\n count: triangulation.indices.length,\n }),\n stencil: getMask(mask, maskInside),\n });\n }\n private updateStyle() {\n this.updateColorTexture();\n }\n\n private updateColorTexture() {\n const { createTexture2D } = this.rendererService;\n if (this.texture) {\n this.texture.destroy();\n }\n\n const {\n rampColors,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n const imageData = generateColorRamp(rampColors as IColorRamp);\n this.colorTexture = createTexture2D({\n data: new Uint8Array(imageData.data),\n width: imageData.width,\n height: imageData.height,\n wrapS: gl.CLAMP_TO_EDGE,\n wrapT: gl.CLAMP_TO_EDGE,\n min: gl.NEAREST,\n mag: gl.NEAREST,\n flipY: false,\n });\n }\n}\n"],"file":"heatmap.js"}
|
|
@@ -59,20 +59,20 @@ var HexagonModel = function (_BaseModel) {
|
|
|
59
59
|
}
|
|
60
60
|
}, {
|
|
61
61
|
key: "initModels",
|
|
62
|
-
value: function initModels() {
|
|
63
|
-
|
|
62
|
+
value: function initModels(callbackModel) {
|
|
63
|
+
this.buildModels(callbackModel);
|
|
64
64
|
}
|
|
65
65
|
}, {
|
|
66
66
|
key: "buildModels",
|
|
67
|
-
value: function buildModels() {
|
|
67
|
+
value: function buildModels(callbackModel) {
|
|
68
68
|
var _ref2 = this.layer.getLayerConfig(),
|
|
69
69
|
_ref2$mask = _ref2.mask,
|
|
70
70
|
mask = _ref2$mask === void 0 ? false : _ref2$mask,
|
|
71
71
|
_ref2$maskInside = _ref2.maskInside,
|
|
72
72
|
maskInside = _ref2$maskInside === void 0 ? true : _ref2$maskInside;
|
|
73
73
|
|
|
74
|
-
|
|
75
|
-
moduleName: '
|
|
74
|
+
this.layer.buildLayerModel({
|
|
75
|
+
moduleName: 'heatmapHexagon',
|
|
76
76
|
vertexShader: heatmapGridVert,
|
|
77
77
|
fragmentShader: heatmapGridFrag,
|
|
78
78
|
triangulation: _triangulation.HeatmapGridTriangulation,
|
|
@@ -82,7 +82,12 @@ var HexagonModel = function (_BaseModel) {
|
|
|
82
82
|
primitive: _l7Core.gl.TRIANGLES,
|
|
83
83
|
blend: this.getBlend(),
|
|
84
84
|
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
85
|
-
})
|
|
85
|
+
}).then(function (model) {
|
|
86
|
+
callbackModel([model]);
|
|
87
|
+
}).catch(function (err) {
|
|
88
|
+
console.warn(err);
|
|
89
|
+
callbackModel([]);
|
|
90
|
+
});
|
|
86
91
|
}
|
|
87
92
|
}, {
|
|
88
93
|
key: "registerBuiltinAttributes",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/heatmap/models/hexagon.ts"],"names":["HexagonModel","layer","getLayerConfig","opacity","coverage","angle","u_opacity","u_coverage","u_angle","u_radius","getSource","data","xOffset","yOffset","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","heatmapGridVert","fragmentShader","heatmapGridFrag","triangulation","HeatmapGridTriangulation","depth","enable","primitive","gl","TRIANGLES","blend","getBlend","stencil","styleAttributeService","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","coordinates","version","originCoordinates","BaseModel"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AACA;;AAEA;;;;;;;;;IAIqBA,Y;;;;;;;;;;;;WACnB,wBAAqC;AACnC,iBAII,KAAKC,KAAL,CAAWC,cAAX,EAJJ;AAAA,UACEC,OADF,QACEA,OADF;AAAA,UAEEC,QAFF,QAEEA,QAFF;AAAA,UAGEC,KAHF,QAGEA,KAHF;;AAKA,aAAO;AACLC,QAAAA,SAAS,EAAEH,OAAO,IAAI,GADjB;AAELI,QAAAA,UAAU,EAAEH,QAAQ,IAAI,GAFnB;AAGLI,QAAAA,OAAO,EAAEH,KAAK,IAAI,CAHb;AAILI,QAAAA,QAAQ,EAAE,CACR,KAAKR,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BC,OADpB,EAER,KAAKX,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BE,OAFpB;AAJL,OAAP;AASD;;;WAED,
|
|
1
|
+
{"version":3,"sources":["../../../src/heatmap/models/hexagon.ts"],"names":["HexagonModel","layer","getLayerConfig","opacity","coverage","angle","u_opacity","u_coverage","u_angle","u_radius","getSource","data","xOffset","yOffset","callbackModel","buildModels","mask","maskInside","buildLayerModel","moduleName","vertexShader","heatmapGridVert","fragmentShader","heatmapGridFrag","triangulation","HeatmapGridTriangulation","depth","enable","primitive","gl","TRIANGLES","blend","getBlend","stencil","then","model","catch","err","console","warn","styleAttributeService","registerStyleAttribute","name","type","AttributeType","Attribute","descriptor","buffer","usage","DYNAMIC_DRAW","FLOAT","size","update","feature","featureIdx","coordinates","version","originCoordinates","BaseModel"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAOA;;AACA;;AAEA;;;;;;;;;IAIqBA,Y;;;;;;;;;;;;WACnB,wBAAqC;AACnC,iBAII,KAAKC,KAAL,CAAWC,cAAX,EAJJ;AAAA,UACEC,OADF,QACEA,OADF;AAAA,UAEEC,QAFF,QAEEA,QAFF;AAAA,UAGEC,KAHF,QAGEA,KAHF;;AAKA,aAAO;AACLC,QAAAA,SAAS,EAAEH,OAAO,IAAI,GADjB;AAELI,QAAAA,UAAU,EAAEH,QAAQ,IAAI,GAFnB;AAGLI,QAAAA,OAAO,EAAEH,KAAK,IAAI,CAHb;AAILI,QAAAA,QAAQ,EAAE,CACR,KAAKR,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BC,OADpB,EAER,KAAKX,KAAL,CAAWS,SAAX,GAAuBC,IAAvB,CAA4BE,OAFpB;AAJL,OAAP;AASD;;;WAED,oBAAkBC,aAAlB,EAA6D;AAC3D,WAAKC,WAAL,CAAiBD,aAAjB;AACD;;;WAED,qBAAmBA,aAAnB,EAA8D;AAC5D,kBAGI,KAAKb,KAAL,CAAWC,cAAX,EAHJ;AAAA,6BACEc,IADF;AAAA,UACEA,IADF,2BACS,KADT;AAAA,mCAEEC,UAFF;AAAA,UAEEA,UAFF,iCAEe,IAFf;;AAIA,WAAKhB,KAAL,CACGiB,eADH,CACmB;AACfC,QAAAA,UAAU,EAAE,gBADG;AAEfC,QAAAA,YAAY,EAAEC,eAFC;AAGfC,QAAAA,cAAc,EAAEC,eAHD;AAIfC,QAAAA,aAAa,EAAEC,uCAJA;AAKfC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,MAAM,EAAE;AAAV,SALQ;AAMfC,QAAAA,SAAS,EAAEC,WAAGC,SANC;AAOfC,QAAAA,KAAK,EAAE,KAAKC,QAAL,EAPQ;AAQfC,QAAAA,OAAO,EAAE,sBAAQjB,IAAR,EAAcC,UAAd;AARM,OADnB,EAWGiB,IAXH,CAWQ,UAACC,KAAD,EAAW;AACfrB,QAAAA,aAAa,CAAC,CAACqB,KAAD,CAAD,CAAb;AACD,OAbH,EAcGC,KAdH,CAcS,UAACC,GAAD,EAAS;AACdC,QAAAA,OAAO,CAACC,IAAR,CAAaF,GAAb;AACAvB,QAAAA,aAAa,CAAC,EAAD,CAAb;AACD,OAjBH;AAkBD;;;WACD,qCAAsC;AACpC,WAAK0B,qBAAL,CAA2BC,sBAA3B,CAAkD;AAChDC,QAAAA,IAAI,EAAE,KAD0C;AAEhDC,QAAAA,IAAI,EAAEC,sBAAcC,SAF4B;AAGhDC,QAAAA,UAAU,EAAE;AACVJ,UAAAA,IAAI,EAAE,OADI;AAEVK,UAAAA,MAAM,EAAE;AAENC,YAAAA,KAAK,EAAEnB,WAAGoB,YAFJ;AAGNtC,YAAAA,IAAI,EAAE,EAHA;AAINgC,YAAAA,IAAI,EAAEd,WAAGqB;AAJH,WAFE;AAQVC,UAAAA,IAAI,EAAE,CARI;AASVC,UAAAA,MAAM,EAAE,gBAACC,OAAD,EAA0BC,UAA1B,EAAiD;AAEvD,gBAAMC,WAAW,GAAIF,OAAO,CAACG,OAAR,KAAoB,UAApB,GACjBH,OAAO,CAACI,iBADS,GAEjBJ,OAAO,CAACE,WAFZ;AAKA,mBAAO,CAACA,WAAW,CAAC,CAAD,CAAZ,EAAiBA,WAAW,CAAC,CAAD,CAA5B,EAAiC,CAAjC,CAAP;AACD;AAjBS;AAHoC,OAAlD;AAuBD;;;EAtEuCG,mB","sourcesContent":["import {\n AttributeType,\n gl,\n IEncodeFeature,\n IModel,\n IModelUniform,\n} from '@antv/l7-core';\nimport { getMask } from '@antv/l7-utils';\nimport BaseModel from '../../core/BaseModel';\nimport { IHeatMapLayerStyleOptions } from '../../core/interface';\nimport { HeatmapGridTriangulation } from '../../core/triangulation';\nimport heatmapGridFrag from '../shaders/hexagon_frag.glsl';\nimport heatmapGridVert from '../shaders/hexagon_vert.glsl';\n\nexport default class HexagonModel extends BaseModel {\n public getUninforms(): IModelUniform {\n const {\n opacity,\n coverage,\n angle,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n return {\n u_opacity: opacity || 1.0,\n u_coverage: coverage || 0.9,\n u_angle: angle || 0,\n u_radius: [\n this.layer.getSource().data.xOffset,\n this.layer.getSource().data.yOffset,\n ],\n };\n }\n\n public initModels(callbackModel: (models: IModel[]) => void) {\n this.buildModels(callbackModel);\n }\n\n public buildModels(callbackModel: (models: IModel[]) => void) {\n const {\n mask = false,\n maskInside = true,\n } = this.layer.getLayerConfig() as IHeatMapLayerStyleOptions;\n this.layer\n .buildLayerModel({\n moduleName: 'heatmapHexagon',\n vertexShader: heatmapGridVert,\n fragmentShader: heatmapGridFrag,\n triangulation: HeatmapGridTriangulation,\n depth: { enable: false },\n primitive: gl.TRIANGLES,\n blend: this.getBlend(),\n stencil: getMask(mask, maskInside),\n })\n .then((model) => {\n callbackModel([model]);\n })\n .catch((err) => {\n console.warn(err);\n callbackModel([]);\n });\n }\n protected registerBuiltinAttributes() {\n this.styleAttributeService.registerStyleAttribute({\n name: 'pos', // 顶点经纬度位置\n type: AttributeType.Attribute,\n descriptor: {\n name: 'a_Pos',\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: (feature: IEncodeFeature, featureIdx: number) => {\n // const coordinates = (feature.verison==='GAODE2.x'?feature.originoordinates:feature.coordinates) as number[];\n const coordinates = (feature.version === 'GAODE2.x'\n ? feature.originCoordinates\n : feature.coordinates) as number[];\n // const coordinates = feature.coordinates as number[];\n // const coordinates = feature.originCoordinates as number[];\n return [coordinates[0], coordinates[1], 0];\n },\n },\n });\n }\n}\n"],"file":"hexagon.js"}
|
package/lib/image/index.js
CHANGED
|
@@ -51,14 +51,24 @@ var ImageLayer = function (_BaseLayer) {
|
|
|
51
51
|
(0, _createClass2.default)(ImageLayer, [{
|
|
52
52
|
key: "buildModels",
|
|
53
53
|
value: function buildModels() {
|
|
54
|
+
var _this2 = this;
|
|
55
|
+
|
|
54
56
|
var modelType = this.getModelType();
|
|
55
57
|
this.layerModel = new _index.default[modelType](this);
|
|
56
|
-
this.
|
|
58
|
+
this.layerModel.initModels(function (models) {
|
|
59
|
+
_this2.models = models;
|
|
60
|
+
|
|
61
|
+
_this2.renderLayers();
|
|
62
|
+
});
|
|
57
63
|
}
|
|
58
64
|
}, {
|
|
59
65
|
key: "rebuildModels",
|
|
60
66
|
value: function rebuildModels() {
|
|
61
|
-
|
|
67
|
+
var _this3 = this;
|
|
68
|
+
|
|
69
|
+
this.layerModel.buildModels(function (models) {
|
|
70
|
+
return _this3.models = models;
|
|
71
|
+
});
|
|
62
72
|
}
|
|
63
73
|
}, {
|
|
64
74
|
key: "getConfigSchema",
|
package/lib/image/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/image/index.ts"],"names":["ImageLayer","modelType","getModelType","layerModel","ImageModels","models","
|
|
1
|
+
{"version":3,"sources":["../../src/image/index.ts"],"names":["ImageLayer","modelType","getModelType","layerModel","ImageModels","initModels","models","renderLayers","buildModels","properties","opacity","type","minimum","maximum","defaultConfig","image","BaseLayer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;;;;IACqBA,U;;;;;;;;;;;;;;;uFACG,Y;;;;;;WACtB,uBAAqB;AAAA;;AACnB,UAAMC,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,WAAKC,UAAL,GAAkB,IAAIC,eAAYH,SAAZ,CAAJ,CAA2B,IAA3B,CAAlB;AACA,WAAKE,UAAL,CAAgBE,UAAhB,CAA2B,UAACC,MAAD,EAAY;AACrC,QAAA,MAAI,CAACA,MAAL,GAAcA,MAAd;;AACA,QAAA,MAAI,CAACC,YAAL;AACD,OAHD;AAID;;;WACD,yBAAuB;AAAA;;AACrB,WAAKJ,UAAL,CAAgBK,WAAhB,CAA4B,UAACF,MAAD;AAAA,eAAa,MAAI,CAACA,MAAL,GAAcA,MAA3B;AAAA,OAA5B;AACD;;;WACD,2BAA4B;AAC1B,aAAO;AACLG,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;;;WACD,4BAA6B;AAC3B,UAAMF,IAAI,GAAG,KAAKT,YAAL,EAAb;AACA,UAAMY,aAAa,GAAG;AACpBC,QAAAA,KAAK,EAAE;AADa,OAAtB;AAGA,aAAOD,aAAa,CAACH,IAAD,CAApB;AACD;;;WAED,wBAAyC;AACvC,aAAO,OAAP;AACD;;;EAlCqCK,mB","sourcesContent":["import BaseLayer from '../core/BaseLayer';\nimport { IImageLayerStyleOptions } from '../core/interface';\nimport ImageModels, { ImageModelType } from './models/index';\nexport default class ImageLayer extends BaseLayer<IImageLayerStyleOptions> {\n public type: string = 'ImageLayer';\n public buildModels() {\n const modelType = this.getModelType();\n this.layerModel = new ImageModels[modelType](this);\n this.layerModel.initModels((models) => {\n this.models = models;\n this.renderLayers();\n });\n }\n public rebuildModels() {\n this.layerModel.buildModels((models) => (this.models = models));\n }\n protected getConfigSchema() {\n return {\n properties: {\n opacity: {\n type: 'number',\n minimum: 0,\n maximum: 1,\n },\n },\n };\n }\n protected getDefaultConfig() {\n const type = this.getModelType();\n const defaultConfig = {\n image: {},\n };\n return defaultConfig[type];\n }\n\n protected getModelType(): ImageModelType {\n return 'image';\n }\n}\n"],"file":"index.js"}
|
|
@@ -68,7 +68,7 @@ var ImageModel = function (_BaseModel) {
|
|
|
68
68
|
}
|
|
69
69
|
}, {
|
|
70
70
|
key: "initModels",
|
|
71
|
-
value: function initModels() {
|
|
71
|
+
value: function initModels(callbackModel) {
|
|
72
72
|
var _this2 = this;
|
|
73
73
|
|
|
74
74
|
var _ref2 = this.layer.getLayerConfig(),
|
|
@@ -115,8 +115,8 @@ var ImageModel = function (_BaseModel) {
|
|
|
115
115
|
});
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
moduleName: '
|
|
118
|
+
this.layer.buildLayerModel({
|
|
119
|
+
moduleName: 'rasterImage',
|
|
120
120
|
vertexShader: ImageVert,
|
|
121
121
|
fragmentShader: ImageFrag,
|
|
122
122
|
triangulation: _triangulation.RasterImageTriangulation,
|
|
@@ -124,14 +124,18 @@ var ImageModel = function (_BaseModel) {
|
|
|
124
124
|
depth: {
|
|
125
125
|
enable: false
|
|
126
126
|
},
|
|
127
|
-
blend: this.getBlend(),
|
|
128
127
|
stencil: (0, _l7Utils.getMask)(mask, maskInside)
|
|
129
|
-
})
|
|
128
|
+
}).then(function (model) {
|
|
129
|
+
callbackModel([model]);
|
|
130
|
+
}).catch(function (err) {
|
|
131
|
+
console.warn(err);
|
|
132
|
+
callbackModel([]);
|
|
133
|
+
});
|
|
130
134
|
}
|
|
131
135
|
}, {
|
|
132
136
|
key: "buildModels",
|
|
133
|
-
value: function buildModels() {
|
|
134
|
-
return this.initModels();
|
|
137
|
+
value: function buildModels(callbackModel) {
|
|
138
|
+
return this.initModels(callbackModel);
|
|
135
139
|
}
|
|
136
140
|
}, {
|
|
137
141
|
key: "getConfigSchema",
|