MCPcopy
hub / github.com/apache/echarts / progress

Function progress

src/chart/lines/linesLayout.ts:43–101  ·  view source on GitHub ↗
(params, lineData)

Source from the content-addressed store, hash-verified

41 const isLarge = seriesModel.pipelineContext.large;
42 return {
43 progress(params, lineData) {
44 const lineCoords: number[][] = [];
45 if (isLarge) {
46 let points;
47 const segCount = params.end - params.start;
48 if (isPolyline) {
49 let totalCoordsCount = 0;
50 for (let i = params.start; i < params.end; i++) {
51 totalCoordsCount += seriesModel.getLineCoordsCount(i);
52 }
53 points = new Float32Array(segCount + totalCoordsCount * 2);
54 }
55 else {
56 points = new Float32Array(segCount * 4);
57 }
58
59 let offset = 0;
60 let pt: number[] = [];
61 for (let i = params.start; i < params.end; i++) {
62 const len = seriesModel.getLineCoords(i, lineCoords);
63 if (isPolyline) {
64 points[offset++] = len;
65 }
66 for (let k = 0; k < len; k++) {
67 pt = coordSys.dataToPoint(lineCoords[k], false, pt);
68 points[offset++] = pt[0];
69 points[offset++] = pt[1];
70 }
71 }
72
73 lineData.setLayout('linesPoints', points);
74 }
75 else {
76 for (let i = params.start; i < params.end; i++) {
77 const itemModel = lineData.getItemModel<LinesDataItemOption>(i);
78 const len = seriesModel.getLineCoords(i, lineCoords);
79
80 const pts = [];
81 if (isPolyline) {
82 for (let j = 0; j < len; j++) {
83 pts.push(coordSys.dataToPoint(lineCoords[j]));
84 }
85 }
86 else {
87 pts[0] = coordSys.dataToPoint(lineCoords[0]);
88 pts[1] = coordSys.dataToPoint(lineCoords[1]);
89
90 const curveness = itemModel.get(['lineStyle', 'curveness']);
91 if (+curveness) {
92 pts[2] = [
93 (pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness,
94 (pts[0][1] + pts[1][1]) / 2 - (pts[1][0] - pts[0][0]) * curveness
95 ];
96 }
97 }
98 lineData.setItemLayout(i, pts);
99 }
100 }

Callers

nothing calls this directly

Calls 7

getLineCoordsCountMethod · 0.80
getLineCoordsMethod · 0.80
getItemModelMethod · 0.80
setItemLayoutMethod · 0.80
dataToPointMethod · 0.65
setLayoutMethod · 0.65
getMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…