org.gvsig.fmap.geom.primitive
Interface Arc

All Superinterfaces:
Comparable, Curve, Geometry, OrientableCurve, OrientablePrimitive, Primitive, Serializable, Shape
All Known Implementing Classes:
Arc2D, Arc2DZ

public interface Arc
extends Curve

This interface is equivalent to the GM_Arc specified in ISO 19107. A Arc is defined by 3 points, and consists of the arc of the circle determined by the 3 points, starting at the first, passing through the second and terminating at the third. If the 3 points are co-linear, then the arc shall be a 3-point line string, and will not be able to return values for center, radius, start angle and end angle.

Author:
Jorge Piera
See Also:
ISO 19107

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.gvsig.fmap.geom.Geometry
Geometry.DIMENSIONS, Geometry.OPERATIONS, Geometry.SUBTYPES, Geometry.TYPES
 
Field Summary
 
Fields inherited from interface org.gvsig.fmap.geom.Geometry
BEST, E, EXTENDED_GEOMSUBTYPE_OFFSET, EXTENDED_GEOMTYPE_OFFSET, N, NE, NW, S, SE, SELECTHANDLER, STRETCHINGHANDLER, SW, W
 
Method Summary
 Point getCenterPoint()
          Return the center of the arc, that is, the center of the ellipse/circle in which the arc is based.
 Point getEndPoint()
          Return the end point that has been used to create the arc.
 Point getInitPoint()
          Return the first point that has been used to create the arc.
 void setPoints(Point center, double radius, double startAngle, double angleExt)
          Sets the values to define an arc.
 void setPoints(Point startPoint, Point midPoint, Point endPoint)
          Sets the three points to define an arc.
 void setPointsStartEnd(Point center, double radius, double startAngle, double endAngle)
          Sets the values to define an arc.
 void setPointsStartExt(Point center, double radius, double startAngle, double angleExt)
          Sets the values to define an arc.
 
Methods inherited from interface org.gvsig.fmap.geom.primitive.Curve
setPoints
 
Methods inherited from interface org.gvsig.fmap.geom.primitive.OrientablePrimitive
addMoveToVertex, addVertex, closePrimitive, getCoordinateAt, getNumVertices, getVertex, insertVertex, removeVertex, setCoordinateAt, setGeneralPath, setVertex
 
Methods inherited from interface org.gvsig.fmap.geom.Geometry
area, buffer, centroid, cloneGeometry, closestPoints, contains, convertToWKB, convertToWKT, convexHull, coveredBy, crosses, difference, disjoint, distance, fastIntersects, getBounds2D, getDimension, getEnvelope, getGeneralPath, getGeometryType, getHandlers, getInteriorPoint, getInternalShape, getPathIterator, getPathIterator, getShape, getShape, getType, intersection, intersects, intersects, invokeOperation, invokeOperation, isSimple, isWithinDistance, move, overlaps, perimeter, reProject, rotate, scale, snapTo, touches, transform, union, within
 
Methods inherited from interface java.awt.Shape
contains, contains, contains, contains, getBounds, intersects
 
Methods inherited from interface java.lang.Comparable
compareTo
 

Method Detail

setPoints

void setPoints(Point startPoint,
               Point midPoint,
               Point endPoint)
Sets the three points to define an arc. These are three ordered points that belong to the arc (none of them is the center of the ellipse/circle). Therefore they must not be aligned.

Parameters:
startPoint - The start point of an arc.
midPoint - The middle point of an arc.
endPoint - The end point of an arc.
Throws:
IllegalArgumentException - if the three points are aligned or there is a repeated point.

setPoints

void setPoints(Point center,
               double radius,
               double startAngle,
               double angleExt)
Sets the values to define an arc.

Parameters:
center - The center of the arc.
radius - The radius.
startAngle - The start angle of the arc (in radians)
angleExt - The angular extent of the arc (in radians). The sign convention is: startAngle = 0 is "3 o'clock"; startAngle = (PI / 3) is "1 o'clock"; angleExt > 0 means "advancing clockwise"; angleExt < 0 means "advancing counterclockwise".

setPointsStartExt

void setPointsStartExt(Point center,
                       double radius,
                       double startAngle,
                       double angleExt)
Sets the values to define an arc.

Parameters:
center - The center of the arc.
radius - The radius.
startAngle - The start angle of the arc (in radians)
angleExt - The angular extent of the arc (in radians). The sign convention is: startAngle = 0 is "3 o'clock"; startAngle = (PI / 3) is "1 o'clock"; angleExt > 0 means "advancing clockwise"; angleExt < 0 means "advancing counterclockwise".

setPointsStartEnd

void setPointsStartEnd(Point center,
                       double radius,
                       double startAngle,
                       double endAngle)
Sets the values to define an arc. The arc will go from startAngle to endAngle clockwise. Angles will be normalized to ]-PI, PI] (-PI excluded) before creating the arc.

Parameters:
center - The center of the arc.
radius - The radius.
startAngle - The start angle of the arc (in radians)
endAngle - The end angle of the arc (in radians).

getInitPoint

Point getInitPoint()
Return the first point that has been used to create the arc.

Returns:
The first point of the arc.

getEndPoint

Point getEndPoint()
Return the end point that has been used to create the arc.

Returns:
The end point of the arc.

getCenterPoint

Point getCenterPoint()
Return the center of the arc, that is, the center of the ellipse/circle in which the arc is based.

Returns:
The center of the arc.


Copyright © 2004-2013 gvSIG. All Rights Reserved.