В моей разметке у меня есть такой кусок:
<svg width="0" height="0" style="display:none" id="dummy-wedge">
<g class="dummy" transform="translate(100, 100)">
<defs>
<clipPath id="clip1">
<polygon id="clip1Shape" points="-100,-100 0,-100 0,0 -100,-20" />
</clipPath>
</defs>
<circle id="" cx="0" cy="0" r="52" fill-opacity="0"
stroke="#ffffff" stroke-opacity="0.6" stroke-width="50"
pointer-events="visiblePainted" clip-path="url(#clip1)" />
</g>
</svg>
То, что я хочу сделать, это захватить этот кусок и клонировать его в другой корневой элемент svg, чтобы создать кучу клиньев, каждый из которых имеет другую позицию и сегмент клипа. Эта часть классная, но разочарование состоит в том, что каждому клонированному элементу ClipPath необходимо будет получить новый идентификатор, который затем должен быть вставлен в атрибут клипа для соответствующего элемента.
Я знаю, что если бы все дуги были одинаковой длины, у меня мог бы быть общий клип и использовать поворотные преобразования, но они не обязательно одинаковой длины.
Можно ли объявить полигон клипа, используя топологическую связь, а не явно называя его? В качестве альтернативы, есть ли лучший способ определить такую дугу, как это за пределами использования путей?
Спасибо.