public static class CubicCurve2D.Float extends CubicCurve2D implements Serializable
float
coordinates.CubicCurve2D.Double, CubicCurve2D.Float
Modifier and Type | Field and Description |
---|---|
float |
ctrlx1
The X coordinate of the first control point
of the cubic curve segment.
|
float |
ctrlx2
The X coordinate of the second control point
of the cubic curve segment.
|
float |
ctrly1
The Y coordinate of the first control point
of the cubic curve segment.
|
float |
ctrly2
The Y coordinate of the second control point
of the cubic curve segment.
|
float |
x1
The X coordinate of the start point
of the cubic curve segment.
|
float |
x2
The X coordinate of the end point
of the cubic curve segment.
|
float |
y1
The Y coordinate of the start point
of the cubic curve segment.
|
float |
y2
The Y coordinate of the end point
of the cubic curve segment.
|
Constructor and Description |
---|
CubicCurve2D.Float()
Constructs and initializes a CubicCurve with coordinates
(0, 0, 0, 0, 0, 0, 0, 0).
|
CubicCurve2D.Float(float x1,
float y1,
float ctrlx1,
float ctrly1,
float ctrlx2,
float ctrly2,
float x2,
float y2)
Constructs and initializes a
CubicCurve2D from
the specified float coordinates. |
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 |
getCtrlP1()
Returns the first control point.
|
Point2D |
getCtrlP2()
Returns the second control point.
|
double |
getCtrlX1()
Returns the X coordinate of the first control point in double precision.
|
double |
getCtrlX2()
Returns the X coordinate of the second control point
in double precision.
|
double |
getCtrlY1()
Returns the Y coordinate of the first control point in double precision.
|
double |
getCtrlY2()
Returns the Y coordinate of the second 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 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 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.
|
void |
setCurve(float x1,
float y1,
float ctrlx1,
float ctrly1,
float ctrlx2,
float ctrly2,
float x2,
float y2)
Sets the location of the end points and control points
of this curve to the specified
float coordinates. |
clone, contains, contains, contains, contains, getBounds, getFlatness, getFlatness, getFlatness, getFlatnessSq, getFlatnessSq, getFlatnessSq, getPathIterator, getPathIterator, intersects, intersects, setCurve, setCurve, setCurve, setCurve, solveCubic, solveCubic, subdivide, subdivide, subdivide
public float x1
public float y1
public float ctrlx1
public float ctrly1
public float ctrlx2
public float ctrly2
public float x2
public float y2
public CubicCurve2D.Float()
public CubicCurve2D.Float(float x1, float y1, float ctrlx1, float ctrly1, float ctrlx2, float ctrly2, float x2, float y2)
CubicCurve2D
from
the specified float
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()
getX1
in class CubicCurve2D
CubicCurve2D
.public double getY1()
getY1
in class CubicCurve2D
CubicCurve2D
.public Point2D getP1()
getP1
in class CubicCurve2D
Point2D
that is the start point of
the CubicCurve2D
.public double getCtrlX1()
getCtrlX1
in class CubicCurve2D
CubicCurve2D
.public double getCtrlY1()
getCtrlY1
in class CubicCurve2D
CubicCurve2D
.public Point2D getCtrlP1()
getCtrlP1
in class CubicCurve2D
Point2D
that is the first control point of
the CubicCurve2D
.public double getCtrlX2()
getCtrlX2
in class CubicCurve2D
CubicCurve2D
.public double getCtrlY2()
getCtrlY2
in class CubicCurve2D
CubicCurve2D
.public Point2D getCtrlP2()
getCtrlP2
in class CubicCurve2D
Point2D
that is the second control point of
the CubicCurve2D
.public double getX2()
getX2
in class CubicCurve2D
CubicCurve2D
.public double getY2()
getY2
in class CubicCurve2D
CubicCurve2D
.public Point2D getP2()
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)
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 void setCurve(float x1, float y1, float ctrlx1, float ctrly1, float ctrlx2, float ctrly2, float x2, float y2)
float
coordinates.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()
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()
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, 2020, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.