Control-Snap does not work with other contraints

Bug #1064770 reported by bkgoodman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
Diederik van Lierop

Bug Description

If I control-drag an item, it will constrain the move to the nearest orthagonal axis. (Correctly so).

If I have snapping turned on (let's say "snap to node" for the sake of this example) - it should snap to a nearby node. (Correctly so).

However, if I attempt to do them BOTH, the node snap will "overpower" the control orthagonal axis snap.

In most other CAD and/or dragging programs, if you were to do this type of thing, your movement would be subject to BOTH constraints.

For example, say for example if I were to control-drag a node very far to the right. The movement would be contrained on the Y-Axis. Say for example there was another node somewhere off to the right, but at the same location on the Y axis as the original node I was dragging.

If I were to ATTEMPT to control-drag my original node to the other node, it would result in the original node being moved to the positioin of the target node on the X axis, but it would retain it's original position on the Y axis. Thus both constraints would apply to it.

I would advise Inkscape to allow similar functionality.

I could get into being able to apply multiple constraints to relative positions of other notes, like "snap this node to the intersection of the line tangent to this point on this circle, and the line that would extend from this other line, if it were to continue..." ... like a lot of CAD programs can do, but I won't go there today.

Tags: snapping
Revision history for this message
su_v (suv-lp) wrote :

There is a preference setting for snapping which toggles the behavior when dragging a constrained knot (tooltip: "When dragging a knot along a constraint line, then snap the position of the mouse pointer instead of snapping the projection of the knot onto the constraint line"). This seems to be related to the requested feature here…

Changed in inkscape:
importance: Undecided → Wishlist
Revision history for this message
su_v (suv-lp) wrote :

@Diederik - subscribing you to this report: any chance you could comment (if time permits)?

Revision history for this message
Diederik van Lierop (mail-diedenrezi) wrote : Re: [Bug 1064770] Re: Control-Snap does not work with other contraints

~suv, how could I possibly ignore such a polite request ;-) ?

> However, if I attempt to do them BOTH, the node snap will "overpower"
> the control orthagonal axis snap.

That should never happen; the orthogonal constraint should always
prevail! Do you have a detailed example of such behavior? If I can
reproduce it then I will fix it. When pressing CTRL, you should get
control ;-). Snapping is optional and Inkscape will give you feedback
whether it was successful or not.

> In most other CAD and/or dragging programs, if you were to do this type
> of thing, your movement would be subject to BOTH constraints.

If the line of the orthogonal constraint crosses a path, then Inkscape
will snap to their intersection if snapping to paths has been enabled.
There's however no intersection between a point (node) and a line, so
Inkscape might not find such a combined snap when snapping to nodes. It
could happen that the node is exactly on the constraint line and that
Inkscape will snap (it does, just tested that), but if it doesn't then
you could just let go of the CTRL key and snap to the node directly.
It's much easier for the user to tell if that's desired or not. Inkscape
can only guess about the user's intentions, and might guess wrong. Due
to rounding errors a node is likely not _exactly_ on the constraint
line, so it would be hard to tell whether it should snap or not

> For example, say for example if I were to control-drag a node very far
> to the right. The movement would be contrained on the Y-Axis. Say for
> example there was another node somewhere off to the right, but at the
> same location on the Y axis as the original node I was dragging.

If you know that it is located at the same Y coordinate, then why don't
you just let go of the CTRL key? If it's not located at the same
Y-coordinate, then the only thing that could be done is to snap to the
projection of the target node onto the constraint. That's exactly what
the checkbox mentioned by ~suv does, although only when dragging knots
(not the nodes) in the node tool, and only when the target node is
within snapping range of the constraint line.

> I could get into being able to apply multiple constraints to relative
> positions of other notes, like "snap this node to the intersection of
> the line tangent to this point on this circle, and the line that would
> extend from this other line, if it were to continue..." ... like a lot
> of CAD programs can do, but I won't go there today.

Which version of Inkscape are you using? The upcoming v0.49 will have
these new snap features:
http://wiki.inkscape.org/wiki/index.php/Release_notes/0.49#Snapping

Regards,

Diederik

Revision history for this message
bkgoodman (brad-bradgoodman) wrote :

It seems to occur often when dragging a NODE, with the "Cusp Node to Path" constraint.

Enclosed is a file which exhibits this. (It should be self-explanatory - look at the file).

Revision history for this message
Diederik van Lierop (mail-diedenrezi) wrote :
Revision history for this message
Diederik van Lierop (mail-diedenrezi) wrote :

I cannot reproduce this using rev. 11790 (which is the latest and greatest, and quite close to the upcoming v0.49 release). Please have a look at the movie I attached; am I testing this differently than you perhaps? What version are you using?

Revision history for this message
su_v (suv-lp) wrote :

> It seems to occur often when dragging a NODE, with the
> "Cusp Node to Path" constraint.

Reproduced with Inkscape 0.48.2 and 0.48.3.1 on OS X 10.7.4,
not reproduced with Inkscape 0.48+devel r11790.

Changed in inkscape:
importance: Wishlist → Medium
milestone: none → 0.49
status: New → Fix Committed
assignee: nobody → Diederik van Lierop (mail-diedenrezi)
Revision history for this message
su_v (suv-lp) wrote :

See also:
- Bug #615541 ”Ctrl modifier can prevent snapping in some cases” (fixed in trunk)
Possibly related (needs re-testing with current trunk):
- Bug #681286 “[snapping] nodes ctrl-drag not always working properly”

Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.