1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- XML file produced from file: manual.tex
using Hyperlatex v 2.6 (c) Otfried Cheong
on Emacs 21.3.1, Mon Nov 22 10:30:52 2004 -->
<head>
<title>Ipe Manual -- 6.4 Interaction of the snapping modes</title>
<style type="text/css">
.maketitle { align : center }
div.abstract { margin-left: 20%; margin-right: 10%; }
h3.abstract { align : center }
div.verse, div.quote, div.quotation {
margin-left : 10%;
margin-right : 10%;
}
</style>
<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
</head>
<body bgcolor="#ffffe6">
<table width="100%" cellpadding=0 cellspacing=2><tr><td bgcolor="#99ccff"><a href="manual_27.html"><img border="0" alt="6.5 Examples" src="next.png"></a></td><td bgcolor="#99ccff"><a href="manual_22.html"><img border="0" alt="6 Snapping" src="up.png"></a></td><td bgcolor="#99ccff"><a href="manual_25.html"><img border="0" alt="6.3 Angular snapping" src="previous.png"></a></td><td align="center" bgcolor="#99ccff" width="100%"><b>6.4 Interaction of the snapping modes</b></td></tr></table>
<h2>6.4 Interaction of the snapping modes</h2>
<p>Not all the snapping modes can be active at the same time, even if all
buttons are pressed. Here we have a close look at the possible
interactions, and the priorities of snapping.
<p>The two angular snapping modes restrict the possible mouse positions
to a <em>one-dimensional</em> subspace of the canvas. Therefore, they are
incompatible with the modes that try to snap to a zero-dimensional
subspace, namely vertex snapping, intersection snapping, and grid
snapping. Consequently, when one of the angular snapping modes is
<em>on</em>, vertex snapping, intersection snapping, and grid snapping
are ineffective.
<p>On the other hand, it is reasonable to snap to boundaries while in an
angular snapping mode, and this function is actually implemented
correctly. When both angular and boundary snapping are <em>on</em>, Ipe
will compute intersections between the snap lines with the boundaries
of your objects, and whenever the mouse position <em>on</em> the snap
line comes close enough to an intersection, the mouse is snapped to
that intersection.
<p>The two angular snapping modes themselves can also coexist in the same
fashion. If both angular and automatic angular snapping are enabled,
Ipe computes the intersection point between the snap lines defined by
the two origins and snaps there. It the snap lines are parallel or
coincide, automatic angular snapping is used.
<p>When no angular snapping mode is active, Ipe has three
priorities. First, Ipe checks whether the closest vertex or
intersection point is close enough. If that is not the case, the
closest boundary edge is determined. If even that is too far away, Ipe
uses grid snapping (assuming all these modes are enabled).
<p>Note that this can actually mean that snapping is <em>not</em> to the
<em>closest</em> point on an object. Especially for intersections of two
straight edges, the closest point can never be the intersection point!
See <a href="intersection.png">Figure</a>.
<hr />
<table width="100%" cellpadding=0 cellspacing=2><tr><td bgcolor="#99ccff"><a href="manual_27.html"><img border="0" alt="6.5 Examples" src="next.png"></a></td><td bgcolor="#99ccff"><a href="manual_22.html"><img border="0" alt="6 Snapping" src="up.png"></a></td><td bgcolor="#99ccff"><a href="manual_25.html"><img border="0" alt="6.3 Angular snapping" src="previous.png"></a></td><td align="center" bgcolor="#99ccff" width="100%"><b>6.4 Interaction of the snapping modes</b></td></tr></table></body></html>
|