java.awt.geom

## Class QuadCurve2D.Double

- java.lang.Object
- - java.awt.geom.QuadCurve2D
  - - java.awt.geom.QuadCurve2D.Double

- All Implemented Interfaces:
    Shape, Serializable, Cloneable
  Enclosing class:
    QuadCurve2D

      public static class QuadCurve2D.Double
      extends QuadCurve2D
      implements Serializable

  A quadratic parametric curve segment specified with `double` coordinates.
  Since:
    1.2
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.awt.geom.QuadCurve2D

      `QuadCurve2D.Double, QuadCurve2D.Float`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `double` | `ctrlx` The X coordinate of the control point of the quadratic curve segment.
    `double` | `ctrly` The Y coordinate of the control point of the quadratic curve segment.
    `double` | `x1` The X coordinate of the start point of the quadratic curve segment.
    `double` | `x2` The X coordinate of the end point of the quadratic curve segment.
    `double` | `y1` The Y coordinate of the start point of the quadratic curve segment.
    `double` | `y2` The Y coordinate of the end point of the quadratic curve segment.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `QuadCurve2D.Double()` Constructs and initializes a `QuadCurve2D` with coordinates (0, 0, 0, 0, 0, 0).
    `QuadCurve2D.Double(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)` Constructs and initializes a `QuadCurve2D` from the specified `double` coordinates.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Rectangle2D` | `getBounds2D()` Returns a high precision and more accurate bounding box of the `Shape` than the `getBounds` method.
    `Point2D` | `getCtrlPt()` Returns the control point.
    `double` | `getCtrlX()` Returns the X coordinate of the control point in `double` precision.
    `double` | `getCtrlY()` Returns the Y coordinate of the control point in `double` precision.
    `Point2D` | `getP1()` Returns the start point.
    `Point2D` | `getP2()` Returns the end point.
    `double` | `getX1()` Returns the X coordinate of the start point in `double` in precision.
    `double` | `getX2()` Returns the X coordinate of the end point in `double` precision.
    `double` | `getY1()` Returns the Y coordinate of the start point in `double` precision.
    `double` | `getY2()` Returns the Y coordinate of the end point in `double` precision.
    `void` | `setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)` Sets the location of the end points and control point of this curve to the specified `double` coordinates.

    - ### Methods inherited from class java.awt.geom.QuadCurve2D

      `clone, contains, contains, contains, contains, getBounds, getFlatness, getFlatness, getFlatness, getFlatnessSq, getFlatnessSq, getFlatnessSq, getPathIterator, getPathIterator, intersects, intersects, setCurve, setCurve, setCurve, setCurve, solveQuadratic, solveQuadratic, subdivide, subdivide, subdivide`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### x1

          public double x1

      The X coordinate of the start point of the quadratic curve segment.
      Since:
        1.2

    - #### y1

          public double y1

      The Y coordinate of the start point of the quadratic curve segment.
      Since:
        1.2

    - #### ctrlx

          public double ctrlx

      The X coordinate of the control point of the quadratic curve segment.
      Since:
        1.2

    - #### ctrly

          public double ctrly

      The Y coordinate of the control point of the quadratic curve segment.
      Since:
        1.2

    - #### x2

          public double x2

      The X coordinate of the end point of the quadratic curve segment.
      Since:
        1.2

    - #### y2

          public double y2

      The Y coordinate of the end point of the quadratic curve segment.
      Since:
        1.2

  - ### Constructor Detail

    - #### QuadCurve2D.Double

          public QuadCurve2D.Double()

      Constructs and initializes a `QuadCurve2D` with coordinates (0, 0, 0, 0, 0, 0).
      Since:
        1.2

    - #### QuadCurve2D.Double

          public QuadCurve2D.Double(double x1,
                            double y1,
                            double ctrlx,
                            double ctrly,
                            double x2,
                            double y2)

      Constructs and initializes a `QuadCurve2D` from the specified `double` coordinates.
      Parameters:
        `x1` - the X coordinate of the start point
        `y1` - the Y coordinate of the start point
        `ctrlx` - the X coordinate of the control point
        `ctrly` - the Y coordinate of the control point
        `x2` - the X coordinate of the end point
        `y2` - the Y coordinate of the end point
      Since:
        1.2

  - ### Method Detail

    - #### getX1

          public double getX1()

      Returns the X coordinate of the start point in `double` in precision.
      Specified by:
        `getX1` in class `QuadCurve2D`
      Returns:
        the X coordinate of the start point.
      Since:
        1.2

    - #### getY1

          public double getY1()

      Returns the Y coordinate of the start point in `double` precision.
      Specified by:
        `getY1` in class `QuadCurve2D`
      Returns:
        the Y coordinate of the start point.
      Since:
        1.2

    - #### getP1

          public Point2D getP1()

      Returns the start point.
      Specified by:
        `getP1` in class `QuadCurve2D`
      Returns:
        a `Point2D` that is the start point of this `QuadCurve2D`.
      Since:
        1.2

    - #### getCtrlX

          public double getCtrlX()

      Returns the X coordinate of the control point in `double` precision.
      Specified by:
        `getCtrlX` in class `QuadCurve2D`
      Returns:
        X coordinate the control point
      Since:
        1.2

    - #### getCtrlY

          public double getCtrlY()

      Returns the Y coordinate of the control point in `double` precision.
      Specified by:
        `getCtrlY` in class `QuadCurve2D`
      Returns:
        the Y coordinate of the control point.
      Since:
        1.2

    - #### getCtrlPt

          public Point2D getCtrlPt()

      Returns the control point.
      Specified by:
        `getCtrlPt` in class `QuadCurve2D`
      Returns:
        a `Point2D` that is the control point of this `Point2D`.
      Since:
        1.2

    - #### getX2

          public double getX2()

      Returns the X coordinate of the end point in `double` precision.
      Specified by:
        `getX2` in class `QuadCurve2D`
      Returns:
        the x coordiante of the end point.
      Since:
        1.2

    - #### getY2

          public double getY2()

      Returns the Y coordinate of the end point in `double` precision.
      Specified by:
        `getY2` in class `QuadCurve2D`
      Returns:
        the Y coordinate of the end point.
      Since:
        1.2

    - #### getP2

          public Point2D getP2()

      Returns the end point.
      Specified by:
        `getP2` in class `QuadCurve2D`
      Returns:
        a `Point` object that is the end point of this `Point2D`.
      Since:
        1.2

    - #### setCurve

          public void setCurve(double x1,
                      double y1,
                      double ctrlx,
                      double ctrly,
                      double x2,
                      double y2)

      Sets the location of the end points and control point of this curve to the specified `double` coordinates.
      Specified by:
        `setCurve` in class `QuadCurve2D`
      Parameters:
        `x1` - the X coordinate of the start point
        `y1` - the Y coordinate of the start point
        `ctrlx` - the X coordinate of the control point
        `ctrly` - the Y coordinate of the control point
        `x2` - the X coordinate of the end point
        `y2` - the Y coordinate of the end point
      Since:
        1.2

    - #### getBounds2D

          public Rectangle2D getBounds2D()

      Returns a high precision and more accurate bounding box of the `Shape` than the `getBounds` method. Note that there is no guarantee that the returned `Rectangle2D` is the smallest bounding box that encloses the `Shape`, only that the `Shape` lies entirely within the indicated `Rectangle2D`. The bounding box returned by this method is usually tighter than that returned by the `getBounds` method and never fails due to overflow problems since the return value can be an instance of the `Rectangle2D` that uses double precision values to store the dimensions.

      Note that the definition of insideness can lead to situations where points on the defining outline of the `shape` may not be considered contained in the returned `bounds` object, but only in cases where those points are also not considered contained in the original `shape`.

      If a `point` is inside the `shape` according to the `contains(point)` method, then it must be inside the returned `Rectangle2D` bounds object according to the `contains(point)` method of the `bounds`. Specifically:

      `shape.contains(p)` requires `bounds.contains(p)`

      If a `point` is not inside the `shape`, then it might still be contained in the `bounds` object:

      `bounds.contains(p)` does not imply `shape.contains(p)`

      Specified by:
        `getBounds2D` in interface `Shape`
      Returns:
        an instance of `Rectangle2D` that is a high-precision bounding box of the `Shape`.
      Since:
        1.2
      See Also:
        `Shape.getBounds()`

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2015, Oracle and/or its affiliates. All rights reserved.