|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.awt.geom.Line2D
Line2D
は、(x, y) 座標空間のラインセグメントを表します。このクラスは、すべての Java 2D API と同じように、「ユーザ空間」というデフォルトの座標体系を使用します。この座標体系では、y 軸の値は下方へ行くに従い増加し、x 軸の値は右へ行くに従い増加します。ユーザ空間座標系についての詳細は、次を参照してください。
「座標体系」セクション (『Java 2D プログラマガイド』)
このクラスは、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 座標を倍精度で返します。 |
abstract double |
getX2()
終点の X 座標を倍精度で返します。 |
abstract double |
getY1()
始点の Y 座標を倍精度で返します。 |
abstract double |
getY2()
終点の Y 座標を倍精度で返します。 |
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)
点からこのラインまでの距離の 2 乗を返します。 |
static double |
ptLineDistSq(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
点からラインまでの距離の 2 乗を返します。 |
double |
ptLineDistSq(Point2D pt)
指定された Point2D からこのラインまでの距離の 2 乗を返します。 |
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)
点からこのラインセグメントまでの距離の 2 乗を返します。 |
static double |
ptSegDistSq(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
点からラインセグメントまでの距離の 2 乗を返します。 |
double |
ptSegDistSq(Point2D pt)
Point2D からこのラインセグメントまでの距離の 2 乗を返します。 |
int |
relativeCCW(double PX,
double PY)
このラインセグメントを基準として、指定された点 (PX, PY) の位置を示すインジケータを返します。 |
static int |
relativeCCW(double X1,
double Y1,
double X2,
double Y2,
double PX,
double PY)
(X1, Y1) から (X2, Y2) までのラインセグメントを基準にして、指定された点 (PX, PY) の位置を示すインジケータを返します。 |
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 座標に設定します。
public void setLine(Point2D p1, Point2D p2)
Line2D
の両方の端点の位置を、指定された 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 軸に向けて移動する方向にラインセグメントを回転することを示します。Java 2D で使用されるデフォルトの座標体系では、これは時計方向になります。
戻り値が 0 の場合、点が正確にラインセグメント上にあることを示します。インジケータ値が 0 になることはまれであり、浮動小数点の丸めの問題により共線性の判断には利用できません。
点がラインセグメントの端点の間ではなく延長上にある場合、点が (X1, Y1) の外側のときは -1、(X2, Y2) の外側のときは 1 になります。
public int relativeCCW(double PX, double PY)
relativeCCW(double, double, double, double, double, double)
のメソッドのコメントを参照してください。
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)
true
、そうでない場合は false
public boolean intersectsLine(double X1, double Y1, double X2, double Y2)
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)
ptLineDistSq(double, double, double, double, double, double)
public static double ptSegDist(double X1, double Y1, double X2, double Y2, double PX, double PY)
ptLineDist(double, double, double, double, double, double)
public double ptSegDistSq(double PX, double PY)
ptLineDistSq(double, double)
public double ptSegDistSq(Point2D pt)
Point2D
からこのラインセグメントまでの距離の 2 乗を返します。この距離は、指定された点と、現在のラインの端点の間でもっとも近い点の間の距離です。指定された点が端点の間のラインセグメントと交差する場合、このメソッドは 0.0 を返します。
pt
- このラインセグメントに対して測定される Point2D
Point2D
から現在のラインセグメントまでの距離の 2 乗を示す double 値ptLineDistSq(Point2D)
public double ptSegDist(double PX, double 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)
ptSegDistSq(double, double, double, double, double, double)
public static double ptLineDist(double X1, double Y1, double X2, double Y2, double PX, double PY)
ptSegDist(double, double, double, double, double, double)
public double ptLineDistSq(double PX, double PY)
Line2D
によって定義される無限に延長されたライン上のもっとも近い点の間の距離です。指定された点がラインと交差する場合、このメソッドは 0.0 を返します。
ptSegDistSq(double, double)
public double ptLineDistSq(Point2D pt)
Point2D
からこのラインまでの距離の 2 乗を返します。この距離は、指定された点と、この Line2D
によって定義される無限に延長されたライン上のもっとも近い点の間の距離です。指定された点がライン上と交差する場合、このメソッドは 0.0 を返します。
pt
- このラインに対して測定される Point2D
Point2D
から現在のラインまでの距離の 2 乗を示す double 値ptSegDistSq(Point2D)
public double ptLineDist(double PX, double PY)
Line2D
によって定義される無限に延長されたライン上のもっとも近い点の間の距離です。指定された点がラインと交差する場合、このメソッドは 0.0 を返します。
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
を返します。
Shape
内の contains
false
。Line2D
が領域を持つことはないためpublic boolean contains(Point2D p)
Point2D
が、この Line2D
の境界内にあるかどうかを判定します。このメソッドでは Shape
インタフェースを実装する必要があります。ただし、Line2D
オブジェクトの場合、ラインが領域を持つことはないため、このメソッドは常に false
を返します。
Shape
内の contains
p
- 判定対象の、指定された Point2D
false
。Line2D
が領域を持つことはないためpublic boolean intersects(double x, double y, double w, double h)
Line2D
が、指定された矩形座標セットの内部と交差するかどうかを判定します。
Shape
内の intersects
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
を返します。
Shape
内の contains
w
- 指定された矩形領域の幅h
- 指定された矩形領域の高さ
false
。Line2D
が領域を持つことはないためArea
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Line2D
の内部が、指定された Rectangle2D
を完全に内包するかどうかを判定します。このメソッドでは Shape
インタフェースを実装する必要があります。ただし、Line2D
オブジェクトの場合、ラインが領域を持つことはないため、このメソッドは常に false
を返します。
Shape
内の contains
r
- 判定対象の、指定された Rectangle2D
false
。Line2D
が領域を持つことはないためShape.contains(double, double, double, double)
public Rectangle getBounds()
Line2D
のバウンディングボックスを返します。
Shape
内の getBounds
Line2D
のバウンディングボックスを表す Rectangle
Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at)
Line2D
の境界を定義する繰り返しオブジェクトを返します。このクラスの反復子は、マルチスレッドに対して安全ではありません。つまりこの Line2D
クラスでは、この Line2D
オブジェクトのジオメトリを変更すると、このジオメトリについてすでに進行中の繰り返し処理に影響を及ぼす場合があります。
Shape
内の getPathIterator
at
- 指定された
Line2D
の境界を定義する PathIterator
public PathIterator getPathIterator(AffineTransform at, double flatness)
Line2D
の境界を定義する繰り返しオブジェクトを返します。このクラスの反復子は、マルチスレッドに対して安全ではありません。つまりこの Line2D
クラスでは、この Line2D
オブジェクトのジオメトリを変更すると、このジオメトリについてすでに進行中の繰り返し処理に影響を及ぼす場合があります。
Shape
内の getPathIterator
at
- 指定された AffineTransform
flatness
- 指定された曲線上の制御点を動かしたとき、分割された曲線が端点を結ぶ直線により置換されない条件で、制御点がこの直線からもっとも離れる距離。Line2D
オブジェクトは常に平坦であるため、このパラメータは無視される
Line2D
の境界を定義する PathIterator
public Object clone()
Object
内の clone
OutOfMemoryError
- 十分なメモリがない場合Cloneable
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.