Statistics
| Revision:

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
}