MCPcopy Index your code
hub / github.com/SuperMap/iClient-JavaScript / transformPath

Function transformPath

libs/echarts/echarts.simple.js:15087–15172  ·  view source on GitHub ↗
(path, m)

Source from the content-addressed store, hash-verified

15085var mathAtan2 = Math.atan2;
15086
15087var transformPath = function (path, m) {
15088 var data = path.data;
15089 var cmd;
15090 var nPoint;
15091 var i;
15092 var j;
15093 var k;
15094 var p;
15095
15096 var M = CMD$2.M;
15097 var C = CMD$2.C;
15098 var L = CMD$2.L;
15099 var R = CMD$2.R;
15100 var A = CMD$2.A;
15101 var Q = CMD$2.Q;
15102
15103 for (i = 0, j = 0; i < data.length;) {
15104 cmd = data[i++];
15105 j = i;
15106 nPoint = 0;
15107
15108 switch (cmd) {
15109 case M:
15110 nPoint = 1;
15111 break;
15112 case L:
15113 nPoint = 1;
15114 break;
15115 case C:
15116 nPoint = 3;
15117 break;
15118 case Q:
15119 nPoint = 2;
15120 break;
15121 case A:
15122 var x = m[4];
15123 var y = m[5];
15124 var sx = mathSqrt$3(m[0] * m[0] + m[1] * m[1]);
15125 var sy = mathSqrt$3(m[2] * m[2] + m[3] * m[3]);
15126 var angle = mathAtan2(-m[1] / sy, m[0] / sx);
15127 // cx
15128 data[i] *= sx;
15129 data[i++] += x;
15130 // cy
15131 data[i] *= sy;
15132 data[i++] += y;
15133 // Scale rx and ry
15134 // FIXME Assume psi is 0 here
15135 data[i++] *= sx;
15136 data[i++] *= sy;
15137
15138 // Start angle
15139 data[i++] += angle;
15140 // end angle
15141 data[i++] += angle;
15142 // FIXME psi
15143 i += 2;
15144 j = i;

Callers 1

createPathOptionsFunction · 0.70

Calls 1

applyTransformFunction · 0.70

Tested by

no test coverage detected