2016-07-29 8 views
1

Кажется, что draw2d вращает только внутреннее содержимое фигуры, когда я поворачиваю его. Например, используя эту функцию;draw2d touch (js) вращать порты и ограничительную рамку с рисунком

  function rotate (angle, figure){ 
      if(!isNaN(parseFloat(angle)) && isFinite(angle)){ 
       figure.setRotationAngle(angle%360); 
      } 

с скажем, 60 в качестве значения угла, делает следующий поворот на этикетке с 4 гибридных портов:

Before Rotation

After Rotation

Как правильно повернуть фигуру с каждым его компонент? Вы знаете, с портами и всем остальным.

+0

Это дает почти такой же результат: вар ротатора = новый draw2d.command.CommandRotate ($ scope.editor.selection.figure, угол); $ scope.commandStack.execute (ротатор); – user2485309

ответ

0

Существует небольшой взлом, который я сделал для поворота части содержимого. Если вы посмотрите на повернутый элемент в DOM, он будет иметь атрибут с именем «transform» со значением «matrix (« some values ​​»)». Что-то вроде этого: transform="matrix(0.5,-0.866025404,0.866025404,0.5,217.9572965841818,726.3312936065454)" Теперь с этой частью вы можете сделать то, что всякий раз, когда вы вызываете свой код поворота, вы можете скопировать атрибут преобразования из выбранной фигуры и добавить его в часть содержимого. Затем он будет вести себя как вращающийся элемент. example