public static class CubicCurve2D.Double extends CubicCurve2D implements Serializable
A cubic parametric curve segment specified with double
coordinates.
CubicCurve2D.Double, CubicCurve2D.Float
public double x1
The X coordinate of the start point of the cubic curve segment.
public double y1
The Y coordinate of the start point of the cubic curve segment.
public double ctrlx1
The X coordinate of the first control point of the cubic curve segment.
public double ctrly1
The Y coordinate of the first control point of the cubic curve segment.
public double ctrlx2
The X coordinate of the second control point of the cubic curve segment.
public double ctrly2
The Y coordinate of the second control point of the cubic curve segment.
public double x2
The X coordinate of the end point of the cubic curve segment.
public double y2
The Y coordinate of the end point of the cubic curve segment.
public Double()
Constructs and initializes a CubicCurve with coordinates (0, 0, 0, 0, 0, 0, 0, 0).
public Double(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Constructs and initializes a CubicCurve2D
from the specified double
coordinates.
x1
- the X coordinate for the start point of the resulting CubicCurve2D
y1
- the Y coordinate for the start point of the resulting CubicCurve2D
ctrlx1
- the X coordinate for the first control point of the resulting CubicCurve2D
ctrly1
- the Y coordinate for the first control point of the resulting CubicCurve2D
ctrlx2
- the X coordinate for the second control point of the resulting CubicCurve2D
ctrly2
- the Y coordinate for the second control point of the resulting CubicCurve2D
x2
- the X coordinate for the end point of the resulting CubicCurve2D
y2
- the Y coordinate for the end point of the resulting CubicCurve2D
public double getX1()
Returns the X coordinate of the start point in double precision.
getX1
in class CubicCurve2D
CubicCurve2D
.public double getY1()
Returns the Y coordinate of the start point in double precision.
getY1
in class CubicCurve2D
CubicCurve2D
.public Point2D getP1()
Returns the start point.
getP1
in class CubicCurve2D
Point2D
that is the start point of the CubicCurve2D
.public double getCtrlX1()
Returns the X coordinate of the first control point in double precision.
getCtrlX1
in class CubicCurve2D
CubicCurve2D
.public double getCtrlY1()
Returns the Y coordinate of the first control point in double precision.
getCtrlY1
in class CubicCurve2D
CubicCurve2D
.public Point2D getCtrlP1()
Returns the first control point.
getCtrlP1
in class CubicCurve2D
Point2D
that is the first control point of the CubicCurve2D
.public double getCtrlX2()
Returns the X coordinate of the second control point in double precision.
getCtrlX2
in class CubicCurve2D
CubicCurve2D
.public double getCtrlY2()
Returns the Y coordinate of the second control point in double precision.
getCtrlY2
in class CubicCurve2D
CubicCurve2D
.public Point2D getCtrlP2()
Returns the second control point.
getCtrlP2
in class CubicCurve2D
Point2D
that is the second control point of the CubicCurve2D
.public double getX2()
Returns the X coordinate of the end point in double precision.
getX2
in class CubicCurve2D
CubicCurve2D
.public double getY2()
Returns the Y coordinate of the end point in double precision.
getY2
in class CubicCurve2D
CubicCurve2D
.public Point2D getP2()
Returns the end point.
getP2
in class CubicCurve2D
Point2D
that is the end point of the CubicCurve2D
.public void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Sets the location of the end points and control points of this curve to the specified double coordinates.
setCurve
in class CubicCurve2D
x1
- the X coordinate used to set the start point of this CubicCurve2D
y1
- the Y coordinate used to set the start point of this CubicCurve2D
ctrlx1
- the X coordinate used to set the first control point of this CubicCurve2D
ctrly1
- the Y coordinate used to set the first control point of this CubicCurve2D
ctrlx2
- the X coordinate used to set the second control point of this CubicCurve2D
ctrly2
- the Y coordinate used to set the second control point of this CubicCurve2D
x2
- the X coordinate used to set the end point of this CubicCurve2D
y2
- the Y coordinate used to set the end point of this CubicCurve2D
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)
getBounds2D
in interface Shape
Rectangle2D
that is a high-precision bounding box of the Shape
.Shape.getBounds()
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.