Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / operations / strategies / Strategy.java @ 244

History | View | Annotate | Download (3.43 KB)

1
/* Generated by Together */
2
package com.iver.cit.gvsig.fmap.operations.strategies;
3

    
4
import java.awt.Graphics2D;
5
import java.awt.geom.Rectangle2D;
6
import java.awt.image.BufferedImage;
7
import java.util.BitSet;
8

    
9
import com.iver.cit.gvsig.fmap.ViewPort;
10
import com.iver.cit.gvsig.fmap.core.FGeometry;
11
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
12
import com.iver.cit.gvsig.fmap.operations.Cancellable;
13
import com.iver.cit.gvsig.fmap.operations.QueriedPoint;
14

    
15

    
16
/**
17
 * DOCUMENT ME!
18
 *
19
 * @author $author$
20
 */
21
public interface Strategy {
22
    /**
23
     * Dibuja la capa vectorial asociada al Strategy en la imagen que se pasa
24
     * como par?metro.
25
     *
26
     * @param image DOCUMENT ME!
27
     * @param g DOCUMENT ME!
28
     * @param viewPort DOCUMENT ME!
29
     * @param cancel
30
     *
31
     * @throws DriverIOException DOCUMENT ME!
32
     */
33
    void draw(BufferedImage image, Graphics2D g, ViewPort viewPort, Cancellable cancel)
34
        throws DriverIOException;
35

    
36
    /**
37
         * Dibujar? esta Shape en el Graphics con el s?mbolo que se pasa como
38
         * par?metro y despues de aplicarle la transformaci?n que se pasa tambi?n
39
         * como par?metro. Dibujar? la geometria en caso de que la FGeometry
40
         * intersecte o est? contenida en el rect?ngulo que se pasa como par?metro
41
         *
42
         * @param g DOCUMENT ME!
43
         * @param mt DOCUMENT ME!
44
         * @param symbol DOCUMENT ME!
45
         * @param extent DOCUMENT ME!
46
         */
47
        void print(Graphics2D g, ViewPort viewPort, Cancellable cancel)
48
                throws DriverIOException;
49
    
50
    /**
51
     * Recorre las features de la capa vectorial invocando el m?todo visit del
52
     * visitador que se pasa como par?metro, que es el que realizar? la
53
     * operaci?n relacionada con la geometry
54
     *
55
     * @param visitor DOCUMENT ME!
56
     * @param subset DOCUMENT ME!
57
     *
58
     * @throws DriverIOException
59
     */
60
    void process(FeatureVisitor visitor, BitSet subset)
61
        throws DriverIOException;
62

    
63
    /**
64
     * Recorre las features de la capa vectorial invocando el m?todo visit del
65
     * visitador que se pasa como par?metro, que es el que realizar? la
66
     * operaci?n relacionada con la geometry
67
     *
68
     * @param visitor DOCUMENT ME!
69
     *
70
     * @throws DriverIOException
71
     */
72
    void process(FeatureVisitor visitor) throws DriverIOException;
73

    
74
    /**
75
     * Realiza una query por punto en coordenadas del mundo real de la capa
76
     * vectorial asociada a la estrategia
77
     *
78
     * @param p DOCUMENT ME!
79
     * @param tolerance DOCUMENT ME!
80
     *
81
     * @return DOCUMENT ME!
82
     */
83
    BitSet queryByPoint(QueriedPoint p, double tolerance) throws DriverIOException;
84

    
85
    /**
86
     * Realiza una query por rect?ngulo en coordenadas del mundo real de la
87
     * capa vectorial asociada a la estrategia
88
     * @param rect DOCUMENT ME!
89
     * @return DOCUMENT ME!
90
     */
91
    BitSet queryByRect(Rectangle2D rect) throws DriverIOException;
92

    
93
    /**
94
     * Realiza una query por FGeometry en coordenadas del mundo real de la capa
95
     * vectorial asociada a la estrategia
96
     *
97
     * @param g DOCUMENT ME!
98
     * @param relationship DOCUMENT ME!
99
     *
100
     * @return DOCUMENT ME!
101
     */
102
    BitSet queryByShape(FGeometry g, int relationship)throws DriverIOException;
103

    
104
    /**
105
     * Obtiene el rect?ngulo m?nimo que contiene todas las features
106
     * seleccionadas o null si no hay ninguna seleccionada
107
     *
108
     * @return DOCUMENT ME!
109
     */
110
    Rectangle2D getSelectionBounds();
111

    
112
    /**
113
     * Crea un ?ndice sobre la capa vectorial de la estrategia
114
     */
115
    void createIndex();
116
}