|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.awt.geom.Line2D
Line2D
表示 (x, y) 坐标空间内的线段。像 Java 2D API 的所有类一样,此类使用称为用户空间 的默认坐标系统,其中 Y 轴的值向下增大,X 轴的值向右增大。有关用户空间坐标系统的更多信息,请参阅《Java 2D Programmer's Guide》中的 Coordinate Systems 部分。
此类是所有存储 2D 线段对象的惟一抽象超类。坐标的实际存储表示形式要靠子类来完成。
嵌套类摘要 | |
---|---|
static class |
Line2D.Double
使用 double 坐标指定的线段。 |
static class |
Line2D.Float
使用 float 坐标指定的线段。 |
构造方法摘要 | |
---|---|
protected |
Line2D()
这是一个无法直接实例化的抽象类。 |
方法摘要 | |
---|---|
Object |
clone()
创建一个与此对象具有相同类的新对象。 |
boolean |
contains(double x,
double y)
测试指定坐标是否在此 Line2D 对象的边界内。 |
boolean |
contains(double x,
double y,
double w,
double h)
测试此 Line2D 的内部是否完全包含指定矩形坐标集。 |
boolean |
contains(Point2D p)
测试给定 Point2D 是否在此 Line2D 的边界内。 |
boolean |
contains(Rectangle2D r)
测试此 Line2D 内部是否完全包含指定的 Rectangle2D 。 |
Rectangle |
getBounds()
返回此 Line2D 的边界框。 |
abstract Point2D |
getP1()
返回此 Line2D 的起始 Point2D 。 |
abstract Point2D |
getP2()
返回此 Line2D 的结束 Point2D 。 |
PathIterator |
getPathIterator(AffineTransform at)
返回定义此 Line2D 边界的迭代对象。 |
PathIterator |
getPathIterator(AffineTransform at,
double flatness)
返回定义此变平的 Line2D 边界的迭代对象。 |
abstract double |
getX1()
返回起始点的 X 坐标(以 double 精度形式)。 |
abstract double |
getX2()
返回结束点的 X 坐标(以 double 精度形式)。 |
abstract double |
getY1()
返回起始点的 Y 坐标(以 double 精度形式)。 |
abstract double |
getY2()
返回结束点的 Y 坐标(以 double 精度形式)。 |
boolean |
intersects(double x,
double y,
double w,
double h)
测试此 Line2D 是否与指定矩形坐标集的内部相交。 |
boolean |
intersects(Rectangle2D r)
测试此 Line2D 是否与指定 Rectangle2D 的内部相交。 |
boolean |
intersectsLine(double X1,
double Y1,
double X2,
double Y2)
测试从 (X1, Y1) 到 (X2, Y2) 的线段是否与此线段相交。 |
boolean |
intersectsLine(Line2D l)
测试指定的线段是否与此线段相交。 |
static boolean |
linesIntersect(double X1,
double Y1,
double X2,
double Y2,
double X3,
double Y3,
double X4,
double Y4)
测试从 (X1, Y1) 到 (X2, Y2) 的线段是否与从 (X3, Y3) 到 (X4, Y4) 的线段相交。 |
double |
ptLineDist(double PX,
double PY)
返回从点到此线的距离。 |
static double |
ptLineDist(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
返回从点到线的距离。 |
double |
ptLineDist(Point2D pt)
返回从 Point2D 到此线的距离。 |
double |
ptLineDistSq(double PX,
double PY)
返回从点到此线的距离的平方。 |
static double |
ptLineDistSq(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
返回从点到线的距离的平方。 |
double |
ptLineDistSq(Point2D pt)
返回从指定 Point2D 到此线的距离的平方。 |
double |
ptSegDist(double PX,
double PY)
返回从点到此线段的距离。 |
static double |
ptSegDist(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
返回从点到线段的距离。 |
double |
ptSegDist(Point2D pt)
返回从 Point2D 到此线段的距离的平方。 |
double |
ptSegDistSq(double PX,
double PY)
返回从点到此线段的距离的平方。 |
static double |
ptSegDistSq(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
返回从点到线段的距离的平方。 |
double |
ptSegDistSq(Point2D pt)
返回从 Point2D 到此线段的距离的平方。 |
int |
relativeCCW(double PX,
double PY)
返回指定点 (PX, PY) 相对于此线段的位置的指示符。 |
static int |
relativeCCW(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
返回指定点 (PX,PY) 相对于从 (X1,Y1) 到 (X2,Y2) 的线段的位置的指示符。 |
int |
relativeCCW(Point2D p)
返回指定 Point2D 相对于此线段的位置的指示符。 |
abstract void |
setLine(double X1,
double Y1,
double X2,
double Y2)
将此 Line2D 的端点位置设置为指定的 double 坐标。 |
void |
setLine(Line2D l)
将此 Line2D 端点的位置设置为与指定 Line2D 的这些端点相同。 |
void |
setLine(Point2D p1,
Point2D p2)
将此 Line2D 端点的位置设置为指定的 Point2D 坐标。 |
从类 java.lang.Object 继承的方法 |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
从接口 java.awt.Shape 继承的方法 |
---|
getBounds2D |
构造方法详细信息 |
---|
protected Line2D()
Line2D.Float
,
Line2D.Double
方法详细信息 |
---|
public abstract double getX1()
Line2D
对象起始点的 X 坐标。public abstract double getY1()
Line2D
对象起始点的 Y 坐标。public abstract Point2D getP1()
Line2D
的起始 Point2D
。
Line2D
的起始 Point2D
。public abstract double getX2()
Line2D
对象起始点的 X 坐标。public abstract double getY2()
Line2D
对象起始点的 Y 坐标。public abstract Point2D getP2()
Line2D
的结束 Point2D
。
Line2D
端点的 Point2D
。public abstract void setLine(double X1, double Y1, double X2, double Y2)
Line2D
的端点位置设置为指定的 double 坐标。
X1, Y1
- 第一个指定的坐标X2, Y2
- 第二个指定的坐标public void setLine(Point2D p1, Point2D p2)
Line2D
端点的位置设置为指定的 Point2D
坐标。
p1, p2
- 指定的 Point2D
对象public void setLine(Line2D l)
Line2D
端点的位置设置为与指定 Line2D
的这些端点相同。
l
- 指定的 Line2D
public static int relativeCCW(double X1, double Y1, double X2, double Y2, double PX, double PY)
返回值 1 指示线段转动的方向是从 X 正半轴到 Y 负半轴。在 Java 2D 使用的默认坐标系统中,此方向为逆时针方向。
返回值 -1 指示线段转动的方向是从 X 正半轴到 Y 正半轴。在默认的坐标系统中,此方向为顺时针方向。
返回值 0 指示,点恰好位于线段上。注意,指示符 0 是非常罕见的,并且因浮点舍入问题而不可用于确定共线性。
如果点与线段共线,但是不在端点之间,则点位于“(X1,Y1) 之外”时值为 -1,点位于“(X2,Y2) 之外”时值为 1。
X1, Y1
- 指定线段头的坐标X2, Y2
- 指定线段尾的坐标PX, PY
- 要与指定线段进行比较的指定点的坐标
public int relativeCCW(double PX, double PY)
relativeCCW(double, double, double, double, double, double)
的方法注释以获取对返回值的解释。
PX, PY
- 要与当前线段进行比较的指定点的坐标
relativeCCW(double, double, double, double, double, double)
public int relativeCCW(Point2D p)
Point2D
相对于此线段的位置的指示符。请参见 relativeCCW(double, double, double, double, double, double)
的方法注释以获取对返回值的解释。
p
- 要与当前线段进行比较的指定 Point2D
的坐标
Point2D
相对于当前线段的位置的整数。relativeCCW(double, double, double, double, double, double)
public static boolean linesIntersect(double X1, double Y1, double X2, double Y2, double X3, double Y3, double X4, double Y4)
X1, Y1
- 第一个指定线段头的坐标X2, Y2
- 第一个指定线段尾的坐标X3, Y3
- 第二个指定线段头的坐标X4, Y4
- 第二个指定线段尾的坐标
true
;否则返回 false
。public boolean intersectsLine(double X1, double Y1, double X2, double Y2)
X1, Y1
- 指定线段头的坐标X2, Y2
- 指定线段尾的坐标
true
;否则返回 false
。public boolean intersectsLine(Line2D l)
l
- 指定的 Line2D
true
;否则返回 false
。public static double ptSegDistSq(double X1, double Y1, double X2, double Y2, double PX, double PY)
X1, Y1
- 指定线段头的坐标X2, Y2
- 指定线段尾的坐标PX, PY
- 要针对指定线段测量的指定点的坐标
ptLineDistSq(double, double, double, double, double, double)
public static double ptSegDist(double X1, double Y1, double X2, double Y2, double PX, double PY)
X1, Y1
- 指定线段头的坐标X2, Y2
- 指定线段尾的坐标PX, PY
- 要针对指定线段测量的指定点的坐标
ptLineDist(double, double, double, double, double, double)
public double ptSegDistSq(double PX, double PY)
PX, PY
- 针对此线段测量的指定点的坐标
ptLineDistSq(double, double)
public double ptSegDistSq(Point2D pt)
Point2D
到此线段的距离的平方。测量的距离是从指定点到位于当前线端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
pt
- 针对此线段测量的指定的 Point2D
。
Point2D
到当前线段的距离平方的 double 值。ptLineDistSq(Point2D)
public double ptSegDist(double PX, double PY)
PX, PY
- 针对此线段测量的指定点的坐标
ptLineDist(double, double)
public double ptSegDist(Point2D pt)
Point2D
到此线段的距离的平方。测量的距离是从指定点到位于当前线端点间的最近点之间的距离。如果指定点与线段相交于端点之间,则此方法返回 0.0。
pt
- 针对此线段测量的指定 Point2D
Point2D
到当前线段的距离的 double 值。ptLineDist(Point2D)
public static double ptLineDistSq(double X1, double Y1, double X2, double Y2, double PX, double PY)
X1, Y1
- 指定的线上某个点的坐标X2, Y2
- 指定的线上另一个点的坐标PX, PY
- 针对指定线测量的指定点的坐标
ptSegDistSq(double, double, double, double, double, double)
public static double ptLineDist(double X1, double Y1, double X2, double Y2, double PX, double PY)
X1, Y1
- 指定的线上某个点的坐标X2, Y2
- 指定的线上另一个点的坐标PX, PY
- 针对指定线测量的指定点的坐标
ptSegDist(double, double, double, double, double, double)
public double ptLineDistSq(double PX, double PY)
Line2D
定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
PX, PY
- 针对此线测量的指定点的坐标
ptSegDistSq(double, double)
public double ptLineDistSq(Point2D pt)
Point2D
到此线的距离的平方。测量的距离是指定点与位于此 Line2D
定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
pt
- 针对此线测量的指定 Point2D
Point2D
到当前线段的距离平方的 double 值。ptSegDistSq(Point2D)
public double ptLineDist(double PX, double PY)
Line2D
定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
PX,PY
- 针对此线测量的指定点的坐标
ptSegDist(double, double)
public double ptLineDist(Point2D pt)
Point2D
到此线的距离。测量的距离是指定点与位于此 Line2D
定义的无限延长线上的最近点之间的距离。如果指定点与线相交,则此方法返回 0.0。
pt
- 要测量的指定 Point2D
Point2D
到当前线段的距离的 double 值。ptSegDist(Point2D)
public boolean contains(double x, double y)
Line2D
对象的边界内。此方法需要实现 Shape
接口,但是对于 Line2D
对象来说,它始终返回 false
,因为线不包含任何区域。
x, y
- 指定点的坐标
false
,因为 Line2D
不包含任何区域。public boolean contains(Point2D p)
Point2D
是否在此 Line2D
的边界内。此方法需要实现 Shape
接口,但是对于 Line2D
对象来说,它始终返回 false
,因为线不包含任何区域。
p
- 要测试的指定 Point2D
false
,因为 Line2D
不包含任何区域。public boolean intersects(double x, double y, double w, double h)
Line2D
是否与指定矩形坐标集的内部相交。
Shape
中的 intersects
x, y
- 指定矩形区域左上角的坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
Line2D
与指定矩形坐标集的内部相交,则返回 true
;否则返回 false
。Area
public boolean intersects(Rectangle2D r)
Line2D
是否与指定 Rectangle2D
的内部相交。
Shape
中的 intersects
r
- 要测试的指定 Rectangle2D
Line2D
与指定 Rectangle2D
的内部相交,则返回 true
;否则返回 false
。Shape.intersects(double, double, double, double)
public boolean contains(double x, double y, double w, double h)
Line2D
的内部是否完全包含指定矩形坐标集。此方法需要实现 Shape
接口,但是对于 Line2D
对象来说,它始终返回 false,因为线不包含任何区域。
x, y
- 指定矩形区域左上角的坐标w
- 指定矩形区域的宽度h
- 指定矩形区域的高度
false
,因为 Line2D
不包含任何区域。Area
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Line2D
内部是否完全包含指定的 Rectangle2D
。此方法需要实现 Shape
接口,但是对于 Line2D
对象来说,它始终返回 false
,因为线不包含任何区域。
r
- 要测试的指定 Rectangle2D
false
,因为 Line2D
不包含任何区域。Shape.contains(double, double, double, double)
public Rectangle getBounds()
Line2D
的边界框。
Line2D
边界框的 Rectangle
。Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at)
Line2D
边界的迭代对象。此类的迭代器不是多线程安全的,这意味着此 Line2D
类不保证对此 Line2D
对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
Shape
中的 getPathIterator
at
- 指定的 AffineTransform
Line2D
的边界的 PathIterator
。public PathIterator getPathIterator(AffineTransform at, double flatness)
Line2D
边界的迭代对象。此类的迭代器不是多线程安全的,这意味着此 Line2D
类不保证对此 Line2D
对象几何形状所作的修改不会对该几何形状中正在进行的迭代产生影响。
Shape
中的 getPathIterator
at
- 指定的 AffineTransform
flatness
- 在由连接端点的直线取代细分曲线之前,给定曲线的控制点可以从共线变化的最大量。因为 Line2D
对象始终是平的,所以此参数会被忽略。
Line2D
的边界的 PathIterator
public Object clone()
OutOfMemoryError
- 如果没有足够的内存。Cloneable
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。