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.
Geometry.DIMENSIONS, Geometry.OPERATIONS, Geometry.SUBTYPES, Geometry.TYPES, Geometry.ValidationStatus
BEST, E, EXTENDED_GEOMSUBTYPE_OFFSET, EXTENDED_GEOMTYPE_OFFSET, JOIN_STYLE_BEVEL, JOIN_STYLE_MITRE, JOIN_STYLE_ROUND, N, NE, NW, S, SE, SELECTHANDLER, STRETCHINGHANDLER, SW, W
Modifier and Type | Method and Description |
---|---|
Point |
getCenterPoint()
Return the center of the arc, that is, the center of the ellipse/circle
in which the arc is based.
|
double |
getEndAngle()
Returns the counterclockwise angle formed by the horizontal line passing
through the center, the center itself and the ending point.
|
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.
|
Point |
getMiddlePoint()
Return the middle point of the arc.
|
double |
getStartAngle()
Returns the counterclockwise angle formed by the horizontal line passing
through the center, the center itself and the starting point.
|
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.
|
addMoveToVertex, addVertex, addVertex, addVertex, closePrimitive, ensureCapacity, getCoordinateAt, getNumVertices, getVertex, insertVertex, removeVertex, setCoordinateAt, setGeneralPath, setVertex
area, boundary, buffer, buffer, canBeReprojected, canBeTransformed, centroid, clone, cloneGeometry, closestPoints, contains, convertTo, convertToEWKB, convertToEWKB, convertToEWKBForcingType, convertToGeoJson, convertToHexEWKB, convertToHexEWKBQuietly, convertToHexWKB, convertToHexWKBQuietly, convertToWKB, convertToWKB, convertToWKBForcingType, convertToWKBQuietly, convertToWKT, convertToWKTQuietly, convexHull, coveredBy, covers, crosses, difference, disjoint, distance, ensureOrientation, equals, fastIntersects, fix, flip, force2D, forceSubtype, getBounds2D, getDimension, getEnvelope, getGeneralPath, getGeometryType, getHandlers, getInteriorPoint, getInternalShape, getPathIterator, getPathIterator, getProjection, getShape, getShape, getType, getValidationStatus, intersection, intersects, intersects, invokeOperation, invokeOperation, isCCW, isEmpty, isSimple, isValid, isWithinDistance, makeValid, move, offset, offset, out, overlaps, perimeter, reProject, rotate, scale, setProjection, setProjection, setProjectionIffNull, snapTo, toLines, toPoints, toPolygons, touches, transform, union, within
contains, contains, contains, contains, getBounds, intersects
isEmpty, isEmpty, isEmpty, isEmptyQuietly
void setPoints(Point startPoint, Point midPoint, Point endPoint)
startPoint
- The start point of an arc.midPoint
- The middle point of an arc.endPoint
- The end point of an arc.java.lang.IllegalArgumentException
- if the three points are aligned or
there is a repeated point.void setPoints(Point center, double radius, double startAngle, double angleExt)
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".void setPointsStartExt(Point center, double radius, double startAngle, double angleExt)
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".void setPointsStartEnd(Point center, double radius, double startAngle, double endAngle)
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).Point getInitPoint()
Point getEndPoint()
Point getCenterPoint()
Point getMiddlePoint()
double getStartAngle()
double getEndAngle()