|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.geom.QuadCurve2D
public abstract class QuadCurve2D
QuadCurve2D
类定义 (x, y) 坐标空间内的二次参数曲线段。
此类是所有存储 2D 二次曲线段对象的惟一抽象超类。坐标的实际存储表示形式要靠子类来完成。
嵌套类摘要 | |
---|---|
static class |
QuadCurve2D.Double
使用 double 坐标指定的二次参数曲线段。 |
static class |
QuadCurve2D.Float
使用 float 坐标指定的二次参数曲线段。 |
构造方法摘要 | |
---|---|
protected |
QuadCurve2D()
这是一个不可直接实例化的抽象类。 |
方法摘要 | |
---|---|
Object |
clone()
创建一个与此对象具有相同类和相同内容的新对象。 |
boolean |
contains(double x,
double y)
测试指定点是否在此 QuadCurve2D 的形状的边界内。 |
boolean |
contains(double x,
double y,
double w,
double h)
测试此 QuadCurve2D 的形状的内部是否完全包含指定的矩形坐标集。 |
boolean |
contains(Point2D p)
测试指定 Point2D 是否在此 QuadCurve2D 的形状的边界内。 |
boolean |
contains(Rectangle2D r)
测试此 QuadCurve2D 的形状的内部是否完全包含指定的 Rectangle2D 。 |
Rectangle |
getBounds()
返回此 QuadCurve2D 的边界框。 |
abstract Point2D |
getCtrlPt()
返回控制点。 |
abstract double |
getCtrlX()
以 double 精度返回控制点的 X 坐标。 |
abstract double |
getCtrlY()
以 double 精度返回控制点的 Y 坐标。 |
double |
getFlatness()
返回此 QuadCurve2D 的平面度(或者说从控制点到连接端点的线的最大距离)。 |
static double |
getFlatness(double[] coords,
int offset)
返回由控制点(存储在指示数组中的指示索引处)指定的二次曲线的平面度(或者说从控制点到连接端点的线的最大距离)。 |
static double |
getFlatness(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
返回由指示控制点指定的二次曲线的平面度(或者说从控制点到连接端点的线的最大距离)。 |
double |
getFlatnessSq()
返回此 QuadCurve2D 的平面度(或者说从控制点到连接端点的线的最大距离)的平方。 |
static double |
getFlatnessSq(double[] coords,
int offset)
返回由控制点(存储在指示数组中的指示索引处)指定的二次曲线的平面度(或者说从控制点到连接端点的线的最大距离)的平方。 |
static double |
getFlatnessSq(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
返回由指示控制点指定的二次曲线的平面度(或者说从控制点到连接端点的线的最大距离)的平方。 |
abstract Point2D |
getP1()
返回起始点。 |
abstract Point2D |
getP2()
返回结束点。 |
PathIterator |
getPathIterator(AffineTransform at)
返回定义此 QuadCurve2D 的形状边界的迭代对象。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
返回定义此 QuadCurve2D 的变平形状边界的迭代对象。 |
abstract double |
getX1()
以 double 精度返回起始点的 X 坐标。 |
abstract double |
getX2()
以 double 精度返回结束点的 X 坐标。 |
abstract double |
getY1()
以 double 精度返回起始点的 Y 坐标。 |
abstract double |
getY2()
以 double 精度返回结束点的 Y 坐标。 |
boolean |
intersects(double x,
double y,
double w,
double h)
测试此 QuadCurve2D 的形状是否与指定的矩形坐标集的内部相交。 |
boolean |
intersects(Rectangle2D r)
测试 QuadCurve2D 的形状是否与指定 Rectangle2D 内部相交。 |
void |
setCurve(double[] coords,
int offset)
将此 QuadCurve2D 端点和控制点的位置设置为指定数组中指定偏移量的 double 坐标。 |
abstract void |
setCurve(double x1,
double y1,
double ctrlx,
double ctrly,
double x2,
double y2)
将此曲线端点和控制点的位置设置为指定的 double 坐标。 |
void |
setCurve(Point2D[] pts,
int offset)
将此 QuadCurve2D 端点和控制点的位置设置为指定数组中指定偏移量的 Point2D 对象的坐标。 |
void |
setCurve(Point2D p1,
Point2D cp,
Point2D p2)
将此 QuadCurve2D 端点和控制点的位置设置为指定的 Point2D 坐标。 |
void |
setCurve(QuadCurve2D c)
将此 QuadCurve2D 端点和控制点的位置设置为与指定的 QuadCurve2D 相同。 |
static int |
solveQuadratic(double[] eqn)
解其系数位于 eqn 数组中的二次曲线,并将非复数的根放回该数组,同时返回根数。 |
static int |
solveQuadratic(double[] eqn,
double[] res)
解其系数位于 eqn 数组中的二次曲线,并将非复数的根放入 res 数组,同时返回根数。 |
static void |
subdivide(double[] src,
int srcoff,
double[] left,
int leftoff,
double[] right,
int rightoff)
细分由存储在 src 数组 srcoff 到 (srcoff + +5) 索引处的坐标指定的二次曲线,并将得到的两个细分曲线存储到所得数组的相应索引中。 |
void |
subdivide(QuadCurve2D left,
QuadCurve2D right)
细分此 QuadCurve2D 并将得到的两个细分曲线存储到 left 和 right 两个曲线参数中。 |
static void |
subdivide(QuadCurve2D src,
QuadCurve2D left,
QuadCurve2D right)
细分由 src 参数指定的二次曲线并将得到的两个细分曲线存储到 left 和 right 曲线参数中。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 java.awt.Shape 继承的方法 |
---|
getBounds2D |
构造方法详细信息 |
---|
protected QuadCurve2D()
QuadCurve2D.Float
,
QuadCurve2D.Double
方法详细信息 |
---|
public abstract double getX1()
double
精度返回起始点的 X 坐标。
public abstract double getY1()
double
精度返回起始点的 Y 坐标。
public abstract Point2D getP1()
QuadCurve2D
起始点的 Point2D
。public abstract double getCtrlX()
double
精度返回控制点的 X 坐标。
public abstract double getCtrlY()
double
精度返回控制点的 Y 坐标。
public abstract Point2D getCtrlPt()
Point2D
控制点的 Point2D
。public abstract double getX2()
double
精度返回结束点的 X 坐标。
public abstract double getY2()
double
精度返回结束点的 Y 坐标。
public abstract Point2D getP2()
Point2D
结束点的 Point
对象。public abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
double
坐标。
x1,y1
- 起始点的坐标ctrlx,ctrly
- 控制点的坐标x2,y2
- 结束点的坐标public void setCurve(double[] coords, int offset)
QuadCurve2D
端点和控制点的位置设置为指定数组中指定偏移量的 double
坐标。
coords
- 包含坐标值的数组offset
- 用于开始从数组中获取坐标值并将其赋给此 QuadCurve2D
的索引public void setCurve(Point2D p1, Point2D cp, Point2D p2)
QuadCurve2D
端点和控制点的位置设置为指定的 Point2D
坐标。
p1
- 起始点cp
- 控制点p2
- 结束点public void setCurve(Point2D[] pts, int offset)
QuadCurve2D
端点和控制点的位置设置为指定数组中指定偏移量的 Point2D
对象的坐标。
pts
- 包含定义坐标值的 Point2D
的数组offset
- pts
中的索引,从此处开始获取坐标值并将其赋给此 QuadCurve2D
public void setCurve(QuadCurve2D c)
QuadCurve2D
端点和控制点的位置设置为与指定的 QuadCurve2D
相同。
c
- 指定的 QuadCurve2D
public static double getFlatnessSq(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
x1,y1
- 起始点的坐标ctrlx,ctrly
- 控制点的坐标x2,y2
- 结束点的坐标
public static double getFlatness(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
x1,y1
- 起始点的坐标ctrlx,ctrly
- 控制点的坐标x2,y2
- 结束点的坐标
public static double getFlatnessSq(double[] coords, int offset)
coords
- 包含坐标值的数组offset
- coords
中的索引,从此处开始从数组获取值并将其赋予二次曲线
public static double getFlatness(double[] coords, int offset)
coords
- 包含坐标值的数组offset
- coords
中的索引,从此处开始从数组获取值并将其赋予二次曲线
public double getFlatnessSq()
QuadCurve2D
的平面度(或者说从控制点到连接端点的线的最大距离)的平方。
QuadCurve2D
平面度的平方。public double getFlatness()
QuadCurve2D
的平面度(或者说从控制点到连接端点的线的最大距离)。
QuadCurve2D
的平面度。public void subdivide(QuadCurve2D left, QuadCurve2D right)
QuadCurve2D
并将得到的两个细分曲线存储到 left
和 right
两个曲线参数中。left
和 right
两个对象的任何一个或两者都可以与 QuadCurve2D
对象相同,也可以为 null
。
left
- 用于存储左边一半或第一半细分曲线的 QuadCurve2D
对象right
- 用于存储右边一半或第二半细分曲线的 QuadCurve2D
对象public static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
src
参数指定的二次曲线并将得到的两个细分曲线存储到 left
和 right
曲线参数中。left
和 right
两个对象的任何一个或两者都可以与 src
对象相同,也可以为 null
。
src
- 要细分的二次曲线left
- 用于存储左边一半或第一半细分曲线的 QuadCurve2D
对象right
- 用于存储右边一半或第二半细分曲线的 QuadCurve2D
对象public static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
src
数组 srcoff
到 (srcoff
+ +5) 索引处的坐标指定的二次曲线,并将得到的两个细分曲线存储到所得数组的相应索引中。left
和 right
数组中的任何一个或两者都可以为 null
,也可以为到与 src
相同的数组和偏移量的引用。注意,第一个细分曲线的最后一点就是第二个细分曲线的第一点。因此,可以为 left
和 right
传递相同的数组,并且使用 rightoff
等于 (leftoff
+ 6) 这样的偏移量,以避免为此公共点分配额外的存储区。
src
- 保存源曲线坐标的数组srcoff
- 6 个源坐标的开头在数组中的偏移量left
- 存储第一半细分曲线坐标的数组leftoff
- 6 个左坐标的开头在数组中的偏移量right
- 存储第二半细分曲线坐标的数组rightoff
- 6 个右坐标的开头在数组中的偏移量public static int solveQuadratic(double[] eqn)
eqn
数组中的二次曲线,并将非复数的根放回该数组,同时返回根数。由以下方程表示二次曲线的解:
eqn = {C, B, A}; ax^2 + bx + c = 0返回值
-1
用于区分常数方程(可以始终为 0 或永远不为 0)与不包含任何零的方程。
eqn
- 包含二次曲线系数的数组
-1
public static int solveQuadratic(double[] eqn, double[] res)
eqn
数组中的二次曲线,并将非复数的根放入 res
数组,同时返回根数。由以下方程表示二次曲线的解:
eqn = {C, B, A}; ax^2 + bx + c = 0返回值
-1
用于区分常数方程(可以始终为 0 或永远不为 0)与不包含任何零的方程。
eqn
- 用于解二次曲线方程的系数的指定数组res
- 包含求解二次曲线方程所得非复数根的数组
-1
。public boolean contains(double x, double y)
QuadCurve2D
的形状的边界内。
Shape
中的 contains
x, y
- 指定的坐标
QuadCurve2D
的形状的边界内,则返回 true
;否则返回 false
。public boolean contains(Point2D p)
Point2D
是否在此 QuadCurve2D
的形状的边界内。
Shape
中的 contains
p
- 指定的 Point2D
Point2D
在此 QuadCurve2D
的形状的边界内,则返回 true
。public boolean intersects(double x, double y, double w, double h)
QuadCurve2D
的形状是否与指定的矩形坐标集的内部相交。
Shape
中的 intersects
x, y
- 指定矩形区域左上角的坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
QuadCurve2D
的形状与指定矩形坐标集的内部相交,则返回 true
;否则返回 false
。Area
public boolean intersects(Rectangle2D r)
QuadCurve2D
的形状是否与指定 Rectangle2D
内部相交。
Shape
中的 intersects
r
- 指定的 Rectangle2D
QuadCurve2D
的形状与指定 Rectangle2D
的内部相交,则返回 true
;否则返回 false
。Shape.intersects(double, double, double, double)
public boolean contains(double x, double y, double w, double h)
QuadCurve2D
的形状的内部是否完全包含指定的矩形坐标集。
Shape
中的 contains
x, y
- 指定矩形区域左上角的坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
QuadCurve2D
的形状的内部完全包含指定的矩形区域,则返回 true
;否则返回 false
。Area
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
QuadCurve2D
的形状的内部是否完全包含指定的 Rectangle2D
。
Shape
中的 contains
r
- 指定的 Rectangle2D
QuadCurve2D
的形状的内部完全包含指定的 Rectangle2D
,则返回 true
;否则返回 false
。Shape.contains(double, double, double, double)
public Rectangle getBounds()
QuadCurve2D
的边界框。
Shape
中的 getBounds
QuadCurve2D
的形状边界框的 Rectangle
。Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at)
QuadCurve2D
的形状边界的迭代对象。此类的迭代器不是多线程安全的,这意味着此 QuadCurve2D
类不保证对此 QuadCurve2D
对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
Shape
中的 getPathIterator
at
- 要应用于形状边界的可选的 AffineTransform
PathIterator
对象。public PathIterator getPathIterator(AffineTransform at, double flatness)
QuadCurve2D
的变平形状边界的迭代对象。此类的迭代器不是多线程安全的,这意味着此 QuadCurve2D
类不保证对此 QuadCurve2D
对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
Shape
中的 getPathIterator
at
- 要应用于形状边界的可选的 AffineTransform
flatness
- 在由连接端点的直线取代曲线之前,细分曲线的控制端点相对于连接此曲线端点的线条的最大距离。
PathIterator
对象。public Object clone()
Object
中的 clone
OutOfMemoryError
- 如果没有足够的内存。Cloneable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。