public static class CubicCurve2D.Double extends CubicCurve2D implements Serializable
double
协调指定的三次参数曲线段。
CubicCurve2D.Double, CubicCurve2D.Float
Modifier and Type | Field and Description |
---|---|
double |
ctrlx1
三次曲线段的第一个控制点的X坐标。
|
double |
ctrlx2
三次曲线段的第二个控制点的X坐标。
|
double |
ctrly1
三次曲线段的第一个控制点的Y坐标。
|
double |
ctrly2
三次曲线段的第二个控制点的Y坐标。
|
double |
x1
三次曲线段起始点的X坐标。
|
double |
x2
三次曲线段终点的X坐标。
|
double |
y1
三次曲线段起始点的Y坐标。
|
double |
y2
三次曲线段终点的Y坐标。
|
Constructor and Description |
---|
Double()
构造并初始化坐标(0,0,0,0,0,0,0,0)的CubicCurve。
|
Double(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
构造并初始化一个
CubicCurve2D 从指定的
double 坐标。
|
Modifier and Type | Method and Description |
---|---|
Rectangle2D |
getBounds2D()
返回
Shape 比
getBounds 方法更高精度和更准确的边界框。
|
Point2D |
getCtrlP1()
返回第一个控制点。
|
Point2D |
getCtrlP2()
返回第二个控制点。
|
double |
getCtrlX1()
以双精度返回第一个控制点的X坐标。
|
double |
getCtrlX2()
以双精度返回第二个控制点的X坐标。
|
double |
getCtrlY1()
以双精度返回第一个控制点的Y坐标。
|
double |
getCtrlY2()
以双精度返回第二个控制点的Y坐标。
|
Point2D |
getP1()
返回起始点。
|
Point2D |
getP2()
返回终点。
|
double |
getX1()
以双精度返回起始点的X坐标。
|
double |
getX2()
以双精度返回终点的X坐标。
|
double |
getY1()
以双精度返回起始点的Y坐标。
|
double |
getY2()
以双精度返回终点的Y坐标。
|
void |
setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
将该曲线的终点和控制点的位置设置为指定的双坐标。
|
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 double x1
public double y1
public double ctrlx1
public double ctrly1
public double ctrlx2
public double ctrly2
public double x2
public double y2
public Double()
public Double(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
CubicCurve2D
从指定的
double
坐标。
x1
- 生成的起始点的X坐标
CubicCurve2D
y1
- 生成的起始点的Y坐标为
CubicCurve2D
ctrlx1
- 所得CubicCurve2D的第一个控制点的X
CubicCurve2D
ctrly1
- 所得CubicCurve2D的第一个控制点的Y
CubicCurve2D
ctrlx2
- 所得CubicCurve2D的第二个控制点的X
CubicCurve2D
ctrly2
- Y坐标为第二个控制点的结果
CubicCurve2D
x2
- 生成的结束点的X坐标为
CubicCurve2D
y2
- 所得CubicCurve2D的终点的Y
CubicCurve2D
public double getX1()
getX1
在类别
CubicCurve2D
CubicCurve2D
。
public double getY1()
getY1
在
CubicCurve2D
CubicCurve2D
。
public Point2D getP1()
getP1
在
CubicCurve2D
Point2D
是
CubicCurve2D
。
public double getCtrlX1()
getCtrlX1
在
CubicCurve2D
CubicCurve2D
。
public double getCtrlY1()
getCtrlY1
在
CubicCurve2D
CubicCurve2D
。
public Point2D getCtrlP1()
getCtrlP1
在类别
CubicCurve2D
Point2D
也就是第一个控制点
CubicCurve2D
。
public double getCtrlX2()
getCtrlX2
在类别
CubicCurve2D
CubicCurve2D
。
public double getCtrlY2()
getCtrlY2
在类别
CubicCurve2D
CubicCurve2D
。
public Point2D getCtrlP2()
getCtrlP2
在类别
CubicCurve2D
Point2D
那是的第二个控制点
CubicCurve2D
。
public double getX2()
getX2
在类别
CubicCurve2D
CubicCurve2D
。
public double getY2()
getY2
在类别
CubicCurve2D
CubicCurve2D
。
public Point2D getP2()
getP2
在类别
CubicCurve2D
Point2D
就是
CubicCurve2D
。
public void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
setCurve
在类别
CubicCurve2D
x1
- 用于设置此
CubicCurve2D
的X
CubicCurve2D
y1
- 用于设置此
CubicCurve2D
的Y
CubicCurve2D
ctrlx1
- 用于设置此
CubicCurve2D
的第一个控制点的X
CubicCurve2D
ctrly1
- 用于设置此
CubicCurve2D
的第一个控制点的Y
CubicCurve2D
ctrlx2
- 用于设置此
CubicCurve2D
的第二个控制点的X
CubicCurve2D
ctrly2
- 用于设置此
CubicCurve2D
的第二个控制点的Y
CubicCurve2D
x2
- 用于设置此
CubicCurve2D
的终点的X
CubicCurve2D
y2
- 用于设置此
CubicCurve2D
的终点的Y
CubicCurve2D
public Rectangle2D getBounds2D()
Shape
比getBounds
方法更高精度和更准确的边界框。
需要注意的是没有保证返回Rectangle2D
是最小的边框包围Shape
,只表示Shape
完全在指定的范围内Rectangle2D
。
通过此方法返回的边界框通常比通过返回的更紧密getBounds
方法,而且永远不会因为溢出问题,因为返回值可以是实例Rectangle2D
一个使用双精度值存储尺寸。
需要注意的是definition of insideness可能会导致出现对的定义轮廓点的情况下shape
可能不被认为包含在返回bounds
对象,但只有在这些点也未审议了原有的情况下shape
。
如果point
是内部shape
根据contains(point)
方法,那么它必须是内部返回Rectangle2D
界限根据对象contains(point)
所述的方法bounds
。 特别:
shape.contains(p)
需要bounds.contains(p)
如果一个point
不在shape
,那么它可能仍然包含在bounds
对象中:
bounds.contains(p)
并不表示shape.contains(p)
getBounds2D
在接口
Shape
Rectangle2D
那是一个高精度边界框
Shape
。
Shape.getBounds()