Statistics
| Revision:

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

History | View | Annotate | Download (3.77 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.hardcode.driverManager.DriverLoadException;
10
import com.iver.cit.gvsig.fmap.DriverException;
11
import com.iver.cit.gvsig.fmap.ViewPort;
12
import com.iver.cit.gvsig.fmap.core.IGeometry;
13
import com.iver.cit.gvsig.fmap.drivers.DriverIOException;
14
import com.iver.cit.gvsig.fmap.operations.Cancellable;
15
import com.iver.cit.gvsig.fmap.operations.QueriedPoint;
16

    
17

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

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

    
73
    /**
74
     * Recorre las features de la capa vectorial invocando el m?todo visit del
75
     * visitador que se pasa como par?metro, que es el que realizar? la
76
     * operaci?n relacionada con la geometry
77
     *
78
     * @param visitor DOCUMENT ME!
79
     *
80
     * @throws DriverIOException
81
     */
82
    void process(FeatureVisitor visitor) throws DriverException;
83

    
84
    /**
85
     * Realiza una query por punto en coordenadas del mundo real de la capa
86
     * vectorial asociada a la estrategia
87
     *
88
     * @param p DOCUMENT ME!
89
     * @param tolerance DOCUMENT ME!
90
     *
91
     * @return DOCUMENT ME!
92
     */
93
    BitSet queryByPoint(QueriedPoint p, double tolerance) throws DriverException;
94

    
95
    /**
96
     * Realiza una query por rect?ngulo en coordenadas del mundo real de la
97
     * capa vectorial asociada a la estrategia
98
     * @param rect DOCUMENT ME!
99
     * @return DOCUMENT ME!
100
     */
101
    BitSet queryByRect(Rectangle2D rect) throws DriverException;
102

    
103
    /**
104
     * Realiza una query por IGeometry en coordenadas del mundo real de la capa
105
     * vectorial asociada a la estrategia
106
     *
107
     * @param g DOCUMENT ME!
108
     * @param relationship DOCUMENT ME!
109
     *
110
     * @return DOCUMENT ME!
111
     */
112
    BitSet queryByShape(IGeometry g, int relationship)throws DriverException;
113

    
114
    /**
115
     * Obtiene el rect?ngulo m?nimo que contiene todas las features
116
     * seleccionadas o null si no hay ninguna seleccionada
117
     *
118
     * @return DOCUMENT ME!
119
     */
120
    Rectangle2D getSelectionBounds();
121

    
122
    /**
123
     * Crea un ?ndice sobre la capa vectorial de la estrategia
124
     */
125
    void createIndex();
126
}