root / trunk / extensions / extCAD / src / com / iver / cit / gvsig / project / documents / view / snapping / snappers / FinalPointSnapper.java @ 8943
History | View | Annotate | Download (1.8 KB)
1 |
package com.iver.cit.gvsig.project.documents.view.snapping.snappers; |
---|---|
2 |
|
3 |
import java.awt.Graphics; |
4 |
import java.awt.geom.Point2D; |
5 |
|
6 |
import com.iver.andami.PluginServices; |
7 |
import com.iver.cit.gvsig.fmap.core.Handler; |
8 |
import com.iver.cit.gvsig.fmap.core.IGeometry; |
9 |
import com.iver.cit.gvsig.project.documents.view.snapping.AbstractSnapper; |
10 |
import com.iver.cit.gvsig.project.documents.view.snapping.ISnapperVectorial; |
11 |
|
12 |
public class FinalPointSnapper extends AbstractSnapper implements ISnapperVectorial { |
13 |
|
14 |
public Point2D getSnapPoint(Point2D point, IGeometry geom, double tolerance, Point2D lastPointEntered) { |
15 |
Point2D resul = null; |
16 |
|
17 |
Handler[] handlers = geom.getHandlers(IGeometry.SELECTHANDLER); |
18 |
|
19 |
double minDist = tolerance;
|
20 |
for (int j = 0; j < handlers.length; j++) { |
21 |
Point2D handlerPoint = handlers[j].getPoint();
|
22 |
double dist = handlerPoint.distance(point);
|
23 |
if ((dist < minDist)) {
|
24 |
resul = handlerPoint; |
25 |
minDist = dist; |
26 |
} |
27 |
} |
28 |
|
29 |
return resul;
|
30 |
} |
31 |
|
32 |
public String getToolTipText() { |
33 |
return PluginServices.getText(this, "final_point"); |
34 |
} |
35 |
|
36 |
/* (non-Javadoc)
|
37 |
* @see com.iver.cit.gvsig.gui.cad.snapping.ISnapper#draw(java.awt.Graphics, java.awt.geom.Point2D)
|
38 |
*/
|
39 |
public void draw(Graphics g, Point2D pPixels) { |
40 |
g.setColor(getColor()); |
41 |
// g.drawRect((int) (pPixels.getX() - 6),
|
42 |
// (int) (pPixels.getY() - 6), 12, 12);
|
43 |
// g.drawRect((int) (pPixels.getX() - 3),
|
44 |
// (int) (pPixels.getY() - 3), 6, 6);
|
45 |
// g.setColor(Color.MAGENTA);
|
46 |
// g.drawRect((int) (pPixels.getX() - 4),
|
47 |
// (int) (pPixels.getY() - 4), 8, 8);
|
48 |
int half = getSizePixels() / 2; |
49 |
g.drawRect((int) (pPixels.getX() - half),
|
50 |
(int) (pPixels.getY() - half),
|
51 |
getSizePixels(), getSizePixels()); |
52 |
} |
53 |
|
54 |
/* (non-Javadoc)
|
55 |
* @see com.iver.cit.gvsig.gui.cad.snapping.ISnapper#getPriority()
|
56 |
*/
|
57 |
public int getPriority() |
58 |
{ |
59 |
return 3; |
60 |
} |
61 |
|
62 |
} |