Statistics
| Revision:

root / trunk / libraries / libFMap_geometries / src / org / gvsig / fmap / geom / primitive / FShape.java @ 20899

History | View | Annotate | Download (3.21 KB)

1
package org.gvsig.fmap.geom.primitive;
2

    
3

    
4
import java.awt.Shape;
5
import java.awt.geom.AffineTransform;
6
import java.io.Serializable;
7

    
8
import org.cresques.cts.ICoordTrans;
9
import org.gvsig.fmap.geom.handler.Handler;
10

    
11

    
12

    
13
/**
14
 * <p>The interface <code>FShape</code> extends <code>Shape</code> adding shape types, and allowing
15
 *  to work with it as a geometry.</p>
16
 *  
17
 *  @deprecated
18
 */
19
public interface FShape extends Shape, Serializable {
20
        /**
21
         * Unknown or not defined type. 
22
         */
23
        public final static int NULL = 0;
24
        /**
25
         * A geometric element that has zero dimensions and a location determinable by an ordered set
26
         *  of coordinates
27
         */
28
        public final static int POINT = 1;
29
        /**
30
         * A straight or curved geometric element that is generated by a moving point and that has extension
31
         *  only along the path of the point.
32
         */
33
        public final static int LINE = 2;
34
        /**
35
         * A closed plane figure bounded by straight lines.
36
         */
37
        public final static int POLYGON = 4;
38
        /**
39
         * Solids in 3D
40
         */
41
        public final static int SOLID = 8;
42
        /**
43
         * Words, symbols and form of a written or printed work.
44
         */
45
        public final static int TEXT = 16;
46
        /**
47
         * A set that can contain points, lines and polygons. This is usual in <i>CAD</i> layers <i>(dxf, dgn, dwg)</i>.
48
         */
49
        public final static int MULTI = 32;
50
        /**
51
         * A set of points.
52
         */
53
        public final static int MULTIPOINT = 64;
54
        /**
55
         * A set of lines.
56
         */
57
        public final static int MULTIPOLYLINE = 128;
58
        /**
59
         * A set of polygons.
60
         */
61
        public final static int MULTIPOLYGON = 256;        
62
        /**
63
         * A set of solids.
64
         */
65
        public final static int MULTISOLID = 512;        
66
        /**
67
         * A closed plane curve every point of which is equidistant from a fixed point within the curve.
68
         */
69
        public final static int CIRCLE = 1024;
70
        /**
71
         * A continuous portion (as of a circle or ellipse) of a curved line.
72
         */
73
        public final static int ARC = 2048;
74
        /**
75
         *  A closed plane curve generated by a point moving in such a way that the sums of its distances
76
         *   from two fixed points is a constant : a plane section of a right circular cone that is a closed
77
         *   curve.
78
         */
79
        public final static int ELLIPSE=4096;
80
        /**
81
         * Indicates third coordinate. And can be combined with other geometries via the bits enabled.
82
         */
83
        public final static int Z=8192;
84
        /**
85
         * Gets the geometry type of this shape.
86
         *
87
         * @return int the geometry type of this shape.
88
         */
89
        public int getShapeType();
90

    
91
        /**
92
         * Creates and returns a shape equal and independent of this one.
93
         *
94
         * @return the new shape.
95
         */
96
        public FShape cloneFShape();
97
        /**
98
         * Re-projects this shape using transformation coordinates. 
99
         *
100
         * @param ct the transformation coordinates
101
         */
102
        public void reProject(ICoordTrans ct);
103

    
104
        /**
105
         * Returns the handlers they utilized to stretch the geometries.
106
         *
107
         * @return Handlers the handlers used to stretch the geometries
108
         */
109
        public Handler[] getStretchingHandlers();
110

    
111
        /**
112
         * Returns the handlers used to select the geometries.
113
         *
114
         * @return Handlers the handlers used to select the geometries
115
         */
116
        public Handler[] getSelectHandlers();
117
        /**
118
         * Executes a 2D transformation on this shape, using six parameters.
119
         * 
120
         * @param at object that allows execute the affine transformation
121
         * 
122
         * @see AffineTransform
123
         */
124
        public void transform(AffineTransform at);
125
}