| 6975 | return "M" + s.p0 + arc(s.r, s.p1, s.a1 - s.a0) + (equals(s, t) ? curve(s.r, s.p1, s.r, s.p0) : curve(s.r, s.p1, t.r, t.p0) + arc(t.r, t.p1, t.a1 - t.a0) + curve(t.r, t.p1, s.r, s.p0)) + "Z"; |
| 6976 | } |
| 6977 | function subgroup(self, f, d, i) { |
| 6978 | var subgroup = f.call(self, d, i), r = radius.call(self, subgroup, i), a0 = startAngle.call(self, subgroup, i) + d3_svg_arcOffset, a1 = endAngle.call(self, subgroup, i) + d3_svg_arcOffset; |
| 6979 | return { |
| 6980 | r: r, |
| 6981 | a0: a0, |
| 6982 | a1: a1, |
| 6983 | p0: [ r * Math.cos(a0), r * Math.sin(a0) ], |
| 6984 | p1: [ r * Math.cos(a1), r * Math.sin(a1) ] |
| 6985 | }; |
| 6986 | } |
| 6987 | function equals(a, b) { |
| 6988 | return a.a0 == b.a0 && a.a1 == b.a1; |
| 6989 | } |