Comment 2 for bug 698854

Revision history for this message
Krzysztof Kościuszkiewicz (k-kosciuszkiewicz) wrote : Re: Rotation

I have tested a patch to allow arbitrary rotations without snapping to grid - removal of 90 degree constraints would have to be accompanied by removing checks in file format.
Lines, arcs, nets, pins and text rotate OK.
Boxes need to be "upgraded" to paths to support arbitrary rotation - this is irreversible, so will have to be carefully considered.
Pictures would need support for rendering wiht arbitrary rotation.
As expected, after several rotations object will be moved off-grid.
Pin ends off grid are no longer marked as connectable, not sure about results of connectivity checks.

I would suggest to add support for arbitrary rotations with behavior depending on the "snap-to-grid" setting.
When snap to grid is on, resulting (x,y) object coordinates should be snapped after rotation. However this would destroy the looks of graphical elements (paths, lines already off grid).
Therefore second behavior could be triggerd with "snap-to-grid" being off - here no snapping of coordinates would be done.
But even in the second mode the rotation point should snap to grid - otherwise it is nearly impossible to obtain correct results.

One unsolved problem I can think of is rotation of components - should the pins/other objects inside be extended or not? I don't think so, but then connectivity needs to be revisited. What about text within the components? What about attached attributes?

If a sensible general policy cannot be developed, then at least few configurable options would have to be added.