Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.compat.cdc / org.gvsig.fmap.geometry / org.gvsig.fmap.geometry.api / src / main / java / org / gvsig / fmap / geom / primitive / Circle.java @ 45673

History | View | Annotate | Download (2.7 KB)

1 40559 jjdelcerro
/**
2
 * gvSIG. Desktop Geographic Information System.
3 40435 jjdelcerro
 *
4 40559 jjdelcerro
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6 40435 jjdelcerro
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8 40559 jjdelcerro
 * as published by the Free Software Foundation; either version 3
9 40435 jjdelcerro
 * of the License, or (at your option) any later version.
10 40559 jjdelcerro
 *
11 40435 jjdelcerro
 * 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 40559 jjdelcerro
 *
16 40435 jjdelcerro
 * 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 40559 jjdelcerro
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19 40435 jjdelcerro
 * MA  02110-1301, USA.
20 40559 jjdelcerro
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23 40435 jjdelcerro
 */
24
25
package org.gvsig.fmap.geom.primitive;
26
27
/**
28
 * <p>
29 42385 fdiaz
 * This interface is equivalent to the GM_Circle specified in
30 40435 jjdelcerro
 * <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26012">ISO 19107</a>.
31
 * Same as Arc, but closed to form a full circle. The "start" and "end" points are equal.
32
 * @see <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26012">ISO 19107</a>
33
 * @author <a href="mailto:jpiera@gvsig.org">Jorge Piera</a>
34
 */
35
public interface Circle extends Surface {
36 42385 fdiaz
37 40435 jjdelcerro
        /**
38
         * Sets the two values to define a circle.
39
         * @param center
40
         * The center point of the circle.
41
         * @param radious
42
         * A point that is used to calculate the radius.
43 42385 fdiaz
         */
44
        void setPoints(Point center, Point radious);
45
46 40435 jjdelcerro
        /**
47
         * Sets the two values to define a circle.
48
         * @param center
49
         * The center point of the circle.
50
         * @param radious
51
         * The radius of the circle.
52 42385 fdiaz
         */
53
        void setPoints(Point center, double radious);
54
55 40435 jjdelcerro
        /**
56
         * Sets the values to define a circle from three points. The circle
57
         * will be inside or the area defined by the three points.
58
         * @param p1
59
         * First point
60
         * @param p2
61 42385 fdiaz
         * Second point
62 40435 jjdelcerro
         * @param p3
63
         * Third point
64
         */
65
        void setPoints(Point p1, Point p2, Point p3);
66 42385 fdiaz
67 40435 jjdelcerro
        /**
68
         * Returns the center of the circle.
69
         * @return
70
         * The center of the circle.
71
         */
72
        Point getCenter();
73 42385 fdiaz
74 40435 jjdelcerro
        /**
75
         * Returns the radius of the circle
76
         * @return
77
         * The radius of the circle
78
         */
79
        double getRadious();
80 42385 fdiaz
81
        /**
82
         * Returns minimum corner of the framing rectangle.
83
         *
84
         * @return
85
         */
86
        Point getRectangleCorner();
87
88
        /**
89
         * Return the height of the framing rectangle.
90
         *
91
         * @return
92
         */
93
        double getRectangleHeight();
94
95
        /**
96
     * Return the width of the framing rectangle.
97
     *
98
     * @return
99
     */
100
        double getRectangleWidth();
101 40435 jjdelcerro
}