Module java.desktop
Package 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
  • Field Details

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

    • Double

      public Double()
      Constructs and initializes a QuadCurve2D with coordinates (0, 0, 0, 0, 0, 0).
      Since:
      1.2
    • Double

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

    • 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 coordinate 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()