Statistics
| Revision:

root / trunk / applications / appgvSIG / src / com / iver / cit / gvsig / gui / toolListeners / AreaListener.java @ 779

History | View | Annotate | Download (2.02 KB)

1
package com.iver.cit.gvsig.gui.toolListeners;
2

    
3
import java.awt.Point;
4
import java.awt.geom.Point2D;
5

    
6
import com.iver.andami.PluginServices;
7
import com.iver.cit.gvsig.fmap.NewMapControl;
8
import com.iver.cit.gvsig.fmap.ViewPort;
9
import com.iver.cit.gvsig.fmap.tools.AreaListenerImpl;
10
import com.iver.cit.gvsig.fmap.tools.Events.MeasureEvent;
11

    
12

    
13
/**
14
 * DOCUMENT ME!
15
 *
16
 * @author Vicente Caballero Navarro
17
 */
18
public class AreaListener extends AreaListenerImpl {
19
        /**
20
     * Crea un nuevo AreaListener.
21
     *
22
     * @param vp DOCUMENT ME!
23
     */
24
    public AreaListener(NewMapControl mc) {
25
            super(mc);
26
    }
27

    
28
    /**
29
     * DOCUMENT ME!
30
     *
31
     * @param event DOCUMENT ME!
32
     */
33
    public void points(MeasureEvent event) {
34
        this.event = event;
35

    
36
        double dist = 0;
37
        double distAll = 0;
38

    
39
        ViewPort vp = mapCtrl.getMapContext().getViewPort();
40
        for (int i = 0; i < (event.getXs().length - 1); i++) {
41
            dist = 0;
42

    
43
            Point p = new Point(event.getXs()[i].intValue(),
44
                    event.getXs()[i].intValue());
45
            Point p2 = new Point(event.getXs()[i + 1].intValue(),
46
                    event.getXs()[i + 1].intValue());
47
            dist = vp.toMapDistance((int) p.distance(p2));
48
            distAll += dist;
49
        }
50

    
51
        System.out.println("Per?metro = " + distAll + " ?rea = " +
52
            (returnArea(vp.toMapPoint(
53
                    new Point2D.Double(
54
                        event.getXs()[event.getXs().length - 2].doubleValue(),
55
                        event.getYs()[event.getYs().length - 2].doubleValue())))));
56
    
57
        PluginServices.getMainFrame().getStatusBar().setMessage("1",
58
                            "Per?metro :" + distAll + "");
59
                    PluginServices.getMainFrame().getStatusBar().setMessage("2",
60
                            "?rea :" + (returnArea(vp.toMapPoint(
61
                        new Point2D.Double(
62
                                event.getXs()[event.getXs().length - 2].doubleValue(),
63
                                event.getYs()[event.getYs().length - 2].doubleValue())))) + "");
64
    }
65

    
66
    
67
}