java.lang.Object
java.awt.geom.QuadCurve2D
java.awt.geom.QuadCurve2D.Double
- All Implemented Interfaces:
Shape
,Serializable
,Cloneable
- Enclosing class:
- QuadCurve2D
A quadratic parametric curve segment specified with
double
coordinates.- Since:
- 1.2
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces declared in class java.awt.geom.QuadCurve2D
QuadCurve2D.Double, QuadCurve2D.Float
-
Field Summary
Modifier and TypeFieldDescriptiondouble
The X coordinate of the control point of the quadratic curve segment.double
The Y coordinate of the control point of the quadratic curve segment.double
The X coordinate of the start point of the quadratic curve segment.double
The X coordinate of the end point of the quadratic curve segment.double
The Y coordinate of the start point of the quadratic curve segment.double
The Y coordinate of the end point of the quadratic curve segment. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionReturns a high precision and more accurate bounding box of theShape
than thegetBounds
method.Returns the control point.double
getCtrlX()
Returns the X coordinate of the control point indouble
precision.double
getCtrlY()
Returns the Y coordinate of the control point indouble
precision.getP1()
Returns the start point.getP2()
Returns the end point.double
getX1()
Returns the X coordinate of the start point indouble
in precision.double
getX2()
Returns the X coordinate of the end point indouble
precision.double
getY1()
Returns the Y coordinate of the start point indouble
precision.double
getY2()
Returns the Y coordinate of the end point indouble
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 specifieddouble
coordinates.Methods declared in 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
-
Field Details
-
x1
public double x1The X coordinate of the start point of the quadratic curve segment.- Since:
- 1.2
-
y1
public double y1The Y coordinate of the start point of the quadratic curve segment.- Since:
- 1.2
-
ctrlx
public double ctrlxThe X coordinate of the control point of the quadratic curve segment.- Since:
- 1.2
-
ctrly
public double ctrlyThe Y coordinate of the control point of the quadratic curve segment.- Since:
- 1.2
-
x2
public double x2The X coordinate of the end point of the quadratic curve segment.- Since:
- 1.2
-
y2
public double y2The Y coordinate of the end point of the quadratic curve segment.- Since:
- 1.2
-
-
Constructor Details
-
Double
public Double()Constructs and initializes aQuadCurve2D
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 aQuadCurve2D
from the specifieddouble
coordinates.- Parameters:
x1
- the X coordinate of the start pointy1
- the Y coordinate of the start pointctrlx
- the X coordinate of the control pointctrly
- the Y coordinate of the control pointx2
- the X coordinate of the end pointy2
- the Y coordinate of the end point- Since:
- 1.2
-
-
Method Details
-
getX1
public double getX1()Returns the X coordinate of the start point indouble
in precision.- Specified by:
getX1
in classQuadCurve2D
- Returns:
- the X coordinate of the start point.
- Since:
- 1.2
-
getY1
public double getY1()Returns the Y coordinate of the start point indouble
precision.- Specified by:
getY1
in classQuadCurve2D
- Returns:
- the Y coordinate of the start point.
- Since:
- 1.2
-
getP1
Returns the start point.- Specified by:
getP1
in classQuadCurve2D
- Returns:
- a
Point2D
that is the start point of thisQuadCurve2D
. - Since:
- 1.2
-
getCtrlX
public double getCtrlX()Returns the X coordinate of the control point indouble
precision.- Specified by:
getCtrlX
in classQuadCurve2D
- Returns:
- X coordinate the control point
- Since:
- 1.2
-
getCtrlY
public double getCtrlY()Returns the Y coordinate of the control point indouble
precision.- Specified by:
getCtrlY
in classQuadCurve2D
- Returns:
- the Y coordinate of the control point.
- Since:
- 1.2
-
getCtrlPt
Returns the control point.- Specified by:
getCtrlPt
in classQuadCurve2D
- Returns:
- a
Point2D
that is the control point of thisPoint2D
. - Since:
- 1.2
-
getX2
public double getX2()Returns the X coordinate of the end point indouble
precision.- Specified by:
getX2
in classQuadCurve2D
- Returns:
- the x coordinate of the end point.
- Since:
- 1.2
-
getY2
public double getY2()Returns the Y coordinate of the end point indouble
precision.- Specified by:
getY2
in classQuadCurve2D
- Returns:
- the Y coordinate of the end point.
- Since:
- 1.2
-
getP2
Returns the end point.- Specified by:
getP2
in classQuadCurve2D
- Returns:
- a
Point
object that is the end point of thisPoint2D
. - 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 specifieddouble
coordinates.- Specified by:
setCurve
in classQuadCurve2D
- Parameters:
x1
- the X coordinate of the start pointy1
- the Y coordinate of the start pointctrlx
- the X coordinate of the control pointctrly
- the Y coordinate of the control pointx2
- the X coordinate of the end pointy2
- the Y coordinate of the end point- Since:
- 1.2
-
getBounds2D
Returns a high precision and more accurate bounding box of theShape
than thegetBounds
method. Note that there is no guarantee that the returnedRectangle2D
is the smallest bounding box that encloses theShape
, only that theShape
lies entirely within the indicatedRectangle2D
. The bounding box returned by this method is usually tighter than that returned by thegetBounds
method and never fails due to overflow problems since the return value can be an instance of theRectangle2D
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 returnedbounds
object, but only in cases where those points are also not considered contained in the originalshape
.If a
point
is inside theshape
according to thecontains(point)
method, then it must be inside the returnedRectangle2D
bounds object according to thecontains(point)
method of thebounds
. Specifically:shape.contains(p)
requiresbounds.contains(p)
If a
point
is not inside theshape
, then it might still be contained in thebounds
object:bounds.contains(p)
does not implyshape.contains(p)
- Specified by:
getBounds2D
in interfaceShape
- Returns:
- an instance of
Rectangle2D
that is a high-precision bounding box of theShape
. - Since:
- 1.2
- See Also:
Shape.getBounds()
-