Module java.desktop
Package java.awt.geom

## Class Arc2D.Double

- java.lang.Object
- - java.awt.geom.RectangularShape
  - - java.awt.geom.Arc2D
    - - java.awt.geom.Arc2D.Double

- All Implemented Interfaces:
    `Shape`, `Serializable`, `Cloneable`
  Enclosing class:
    Arc2D

      public static class Arc2D.Double
      extends Arc2D
      implements Serializable

  This class defines an arc specified in `double` precision.
  Since:
    1.2
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces declared in class java.awt.geom.Arc2D

      `Arc2D.Double, Arc2D.Float`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `double` | `extent` | The angular extent of the arc in degrees.
    `double` | `height` | The overall height of the full ellipse of which this arc is a partial section (not considering the angular extents).
    `double` | `start` | The starting angle of the arc in degrees.
    `double` | `width` | The overall width of the full ellipse of which this arc is a partial section (not considering the angular extents).
    `double` | `x` | The X coordinate of the upper-left corner of the framing rectangle of the arc.
    `double` | `y` | The Y coordinate of the upper-left corner of the framing rectangle of the arc.

    - ### Fields declared in class java.awt.geom.Arc2D

      `CHORD, OPEN, PIE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `Double()` | Constructs a new OPEN arc, initialized to location (0, 0), size (0, 0), angular extents (start = 0, extent = 0).
    `Double​(double x, double y, double w, double h, double start, double extent, int type)` | Constructs a new arc, initialized to the specified location, size, angular extents, and closure type.
    `Double​(int type)` | Constructs a new arc, initialized to location (0, 0), size (0, 0), angular extents (start = 0, extent = 0), and the specified closure type.
    `Double​(Rectangle2D ellipseBounds, double start, double extent, int type)` | Constructs a new arc, initialized to the specified location, size, angular extents, and closure type.

  - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `double` | `getAngleExtent()` | Returns the angular extent of the arc.
    `double` | `getAngleStart()` | Returns the starting angle of the arc.
    `double` | `getHeight()` | Returns the height of the framing rectangle in `double` precision.
    `double` | `getWidth()` | Returns the width of the framing rectangle in `double` precision.
    `double` | `getX()` | Returns the X coordinate of the upper-left corner of the framing rectangle in `double` precision.
    `double` | `getY()` | Returns the Y coordinate of the upper-left corner of the framing rectangle in `double` precision.
    `boolean` | `isEmpty()` | Determines whether the `RectangularShape` is empty.
    `protected Rectangle2D` | `makeBounds​(double x, double y, double w, double h)` | Constructs a `Rectangle2D` of the appropriate precision to hold the parameters calculated to be the framing rectangle of this arc.
    `void` | `setAngleExtent​(double angExt)` | Sets the angular extent of this arc to the specified double value.
    `void` | `setAngleStart​(double angSt)` | Sets the starting angle of this arc to the specified double value.
    `void` | `setArc​(double x, double y, double w, double h, double angSt, double angExt, int closure)` | Sets the location, size, angular extents, and closure type of this arc to the specified double values.

    - ### Methods declared in class java.awt.geom.Arc2D

      `contains, contains, contains, containsAngle, equals, getArcType, getBounds2D, getEndPoint, getPathIterator, getStartPoint, hashCode, intersects, setAngles, setAngles, setAngleStart, setArc, setArc, setArc, setArcByCenter, setArcByTangent, setArcType, setFrame`

    - ### Methods declared in class java.awt.geom.RectangularShape

      `clone, contains, getBounds, getCenterX, getCenterY, getFrame, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, intersects, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal`

    - ### Methods declared in class java.lang.Object

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### x

          public double x

      The X coordinate of the upper-left corner of the framing rectangle of the arc.
      Since:
        1.2

    - #### y

          public double y

      The Y coordinate of the upper-left corner of the framing rectangle of the arc.
      Since:
        1.2

    - #### width

          public double width

      The overall width of the full ellipse of which this arc is a partial section (not considering the angular extents).
      Since:
        1.2

    - #### height

          public double height

      The overall height of the full ellipse of which this arc is a partial section (not considering the angular extents).
      Since:
        1.2

    - #### start

          public double start

      The starting angle of the arc in degrees.
      Since:
        1.2

    - #### extent

          public double extent

      The angular extent of the arc in degrees.
      Since:
        1.2

  - ### Constructor Detail

    - #### Double

          public Double()

      Constructs a new OPEN arc, initialized to location (0, 0), size (0, 0), angular extents (start = 0, extent = 0).
      Since:
        1.2

    - #### Double

          public Double​(int type)

      Constructs a new arc, initialized to location (0, 0), size (0, 0), angular extents (start = 0, extent = 0), and the specified closure type.
      Parameters:
        `type` - The closure type for the arc: `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
      Since:
        1.2

    - #### Double

          public Double​(double x,
                        double y,
                        double w,
                        double h,
                        double start,
                        double extent,
                        int type)

      Constructs a new arc, initialized to the specified location, size, angular extents, and closure type.
      Parameters:
        `x` - The X coordinate of the upper-left corner of the arc's framing rectangle.
        `y` - The Y coordinate of the upper-left corner of the arc's framing rectangle.
        `w` - The overall width of the full ellipse of which this arc is a partial section.
        `h` - The overall height of the full ellipse of which this arc is a partial section.
        `start` - The starting angle of the arc in degrees.
        `extent` - The angular extent of the arc in degrees.
        `type` - The closure type for the arc: `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
      Since:
        1.2

    - #### Double

          public Double​(Rectangle2D ellipseBounds,
                        double start,
                        double extent,
                        int type)

      Constructs a new arc, initialized to the specified location, size, angular extents, and closure type.
      Parameters:
        `ellipseBounds` - The framing rectangle that defines the outer boundary of the full ellipse of which this arc is a partial section.
        `start` - The starting angle of the arc in degrees.
        `extent` - The angular extent of the arc in degrees.
        `type` - The closure type for the arc: `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
      Since:
        1.2

  - ### Method Detail

    - #### getX

          public double getX()

      Returns the X coordinate of the upper-left corner of the framing rectangle in `double` precision. Note that the arc partially inscribes the framing rectangle of this `RectangularShape`.
      Specified by:
        `getX` in class `RectangularShape`
      Returns:
        the X coordinate of the upper-left corner of the framing rectangle.
      Since:
        1.2

    - #### getY

          public double getY()

      Returns the Y coordinate of the upper-left corner of the framing rectangle in `double` precision. Note that the arc partially inscribes the framing rectangle of this `RectangularShape`.
      Specified by:
        `getY` in class `RectangularShape`
      Returns:
        the Y coordinate of the upper-left corner of the framing rectangle.
      Since:
        1.2

    - #### getWidth

          public double getWidth()

      Returns the width of the framing rectangle in `double` precision. Note that the arc partially inscribes the framing rectangle of this `RectangularShape`.
      Specified by:
        `getWidth` in class `RectangularShape`
      Returns:
        the width of the framing rectangle.
      Since:
        1.2

    - #### getHeight

          public double getHeight()

      Returns the height of the framing rectangle in `double` precision. Note that the arc partially inscribes the framing rectangle of this `RectangularShape`.
      Specified by:
        `getHeight` in class `RectangularShape`
      Returns:
        the height of the framing rectangle.
      Since:
        1.2

    - #### getAngleStart

          public double getAngleStart()

      Returns the starting angle of the arc.
      Specified by:
        `getAngleStart` in class `Arc2D`
      Returns:
        A double value that represents the starting angle of the arc in degrees.
      Since:
        1.2
      See Also:
        `Arc2D.setAngleStart(double)`

    - #### getAngleExtent

          public double getAngleExtent()

      Returns the angular extent of the arc.
      Specified by:
        `getAngleExtent` in class `Arc2D`
      Returns:
        A double value that represents the angular extent of the arc in degrees.
      Since:
        1.2
      See Also:
        `Arc2D.setAngleExtent(double)`

    - #### isEmpty

          public boolean isEmpty()

      Determines whether the `RectangularShape` is empty. When the `RectangularShape` is empty, it encloses no area.
      Specified by:
        `isEmpty` in class `RectangularShape`
      Returns:
        `true` if the `RectangularShape` is empty; `false` otherwise.
      Since:
        1.2

    - #### setArc

          public void setArc​(double x,
                             double y,
                             double w,
                             double h,
                             double angSt,
                             double angExt,
                             int closure)

      Sets the location, size, angular extents, and closure type of this arc to the specified double values.
      Specified by:
        `setArc` in class `Arc2D`
      Parameters:
        `x` - The X coordinate of the upper-left corner of the arc.
        `y` - The Y coordinate of the upper-left corner of the arc.
        `w` - The overall width of the full ellipse of which this arc is a partial section.
        `h` - The overall height of the full ellipse of which this arc is a partial section.
        `angSt` - The starting angle of the arc in degrees.
        `angExt` - The angular extent of the arc in degrees.
        `closure` - The closure type for the arc: `Arc2D.OPEN`, `Arc2D.CHORD`, or `Arc2D.PIE`.
      Since:
        1.2

    - #### setAngleStart

          public void setAngleStart​(double angSt)

      Sets the starting angle of this arc to the specified double value.
      Specified by:
        `setAngleStart` in class `Arc2D`
      Parameters:
        `angSt` - The starting angle of the arc in degrees.
      Since:
        1.2
      See Also:
        `Arc2D.getAngleStart()`

    - #### setAngleExtent

          public void setAngleExtent​(double angExt)

      Sets the angular extent of this arc to the specified double value.
      Specified by:
        `setAngleExtent` in class `Arc2D`
      Parameters:
        `angExt` - The angular extent of the arc in degrees.
      Since:
        1.2
      See Also:
        `Arc2D.getAngleExtent()`

    - #### makeBounds

          protected Rectangle2D makeBounds​(double x,
                                           double y,
                                           double w,
                                           double h)

      Constructs a `Rectangle2D` of the appropriate precision to hold the parameters calculated to be the framing rectangle of this arc.
      Specified by:
        `makeBounds` in class `Arc2D`
      Parameters:
        `x` - The X coordinate of the upper-left corner of the framing rectangle.
        `y` - The Y coordinate of the upper-left corner of the framing rectangle.
        `w` - The width of the framing rectangle.
        `h` - The height of the framing rectangle.
      Returns:
        a `Rectangle2D` that is the framing rectangle of this arc.
      Since:
        1.2