@@ 7970-7984 (lines=15) @@ | ||
7967 | } else { |
|
7968 | x0 = y0 = 0; |
|
7969 | } |
|
7970 | if (r0) { |
|
7971 | x2 = r0 * Math.cos(a1 - p0); |
|
7972 | y2 = r0 * Math.sin(a1 - p0); |
|
7973 | x3 = r0 * Math.cos(a0 + p0); |
|
7974 | y3 = r0 * Math.sin(a0 + p0); |
|
7975 | var l0 = Math.abs(a0 - a1 + 2 * p0) <= π ? 0 : 1; |
|
7976 | if (p0 && d3_svg_arcSweep(x2, y2, x3, y3) === 1 - cw ^ l0) { |
|
7977 | var h0 = (a0 + a1) / 2; |
|
7978 | x2 = r0 * Math.cos(h0); |
|
7979 | y2 = r0 * Math.sin(h0); |
|
7980 | x3 = y3 = null; |
|
7981 | } |
|
7982 | } else { |
|
7983 | x2 = y2 = 0; |
|
7984 | } |
|
7985 | if ((rc = Math.min(Math.abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments))) > .001) { |
|
7986 | cr = r0 < r1 ^ cw ? 0 : 1; |
|
7987 | var oc = x3 == null ? [ x2, y2 ] : x1 == null ? [ x0, y0 ] : d3_geom_polygonIntersect([ x0, y0 ], [ x3, y3 ], [ x1, y1 ], [ x2, y2 ]), ax = x0 - oc[0], ay = y0 - oc[1], bx = x1 - oc[0], by = y1 - oc[1], kc = 1 / Math.sin(Math.acos((ax * bx + ay * by) / (Math.sqrt(ax * ax + ay * ay) * Math.sqrt(bx * bx + by * by))) / 2), lc = Math.sqrt(oc[0] * oc[0] + oc[1] * oc[1]); |
|
@@ 7955-7969 (lines=15) @@ | ||
7952 | if (r1) p1 = d3_asin(rp / r1 * Math.sin(ap)); |
|
7953 | if (r0) p0 = d3_asin(rp / r0 * Math.sin(ap)); |
|
7954 | } |
|
7955 | if (r1) { |
|
7956 | x0 = r1 * Math.cos(a0 + p1); |
|
7957 | y0 = r1 * Math.sin(a0 + p1); |
|
7958 | x1 = r1 * Math.cos(a1 - p1); |
|
7959 | y1 = r1 * Math.sin(a1 - p1); |
|
7960 | var l1 = Math.abs(a1 - a0 - 2 * p1) <= π ? 0 : 1; |
|
7961 | if (p1 && d3_svg_arcSweep(x0, y0, x1, y1) === cw ^ l1) { |
|
7962 | var h1 = (a0 + a1) / 2; |
|
7963 | x0 = r1 * Math.cos(h1); |
|
7964 | y0 = r1 * Math.sin(h1); |
|
7965 | x1 = y1 = null; |
|
7966 | } |
|
7967 | } else { |
|
7968 | x0 = y0 = 0; |
|
7969 | } |
|
7970 | if (r0) { |
|
7971 | x2 = r0 * Math.cos(a1 - p0); |
|
7972 | y2 = r0 * Math.sin(a1 - p0); |