Revision 28990 branches/v2_0_0_prep/libraries/libFMap_geometries/src/org/gvsig/fmap/geom/primitive/FShape.java

View differences:

FShape.java
1
package org.gvsig.fmap.geom.primitive;
1
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 * 
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 * 
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
2 22

  
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2009 {Iver T.I.}   {Task}
26
 */
3 27

  
28
package org.gvsig.fmap.geom.primitive;
29

  
4 30
import java.awt.Shape;
5 31
import java.awt.geom.AffineTransform;
6 32
import java.io.Serializable;
......
8 34
import org.cresques.cts.ICoordTrans;
9 35
import org.gvsig.fmap.geom.handler.Handler;
10 36

  
11

  
12

  
13 37
/**
14 38
 * <p>The interface <code>FShape</code> extends <code>Shape</code> adding shape types, and allowing
15 39
 *  to work with it as a geometry.</p>
......
18 42
 */
19 43
public interface FShape extends Shape, Serializable {
20 44
	/**
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 45
	 * Gets the geometry type of this shape.
86 46
	 *
87 47
	 * @return int the geometry type of this shape.
88 48
	 */
89 49
	public int getShapeType();
90

  
50
	
91 51
	/**
92 52
	 * Creates and returns a shape equal and independent of this one.
93 53
	 *

Also available in: Unified diff