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 Details

### 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 Details

### 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 Details

### 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