Interface Arc

All Superinterfaces:
Cloneable, Comparable, Curve, Geometry, org.gvsig.tools.util.GetItem<Point>, org.gvsig.tools.util.IsEmpty, OrientableCurve, OrientablePrimitive, Primitive, Serializable, Shape, org.gvsig.tools.util.Size

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:
  • Method Details

    • 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.
    • getMiddlePoint

      Point getMiddlePoint()
      Return the middle point of the arc.
      Returns:
      The middle point of the arc.
    • getStartAngle

      double getStartAngle()
      Returns the counterclockwise angle formed by the horizontal line passing through the center, the center itself and the starting point.
      Returns:
    • getEndAngle

      double getEndAngle()
      Returns the counterclockwise angle formed by the horizontal line passing through the center, the center itself and the ending point.
      Returns: