|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
public interface PathIterator
PathIterator
インタフェースの提供する機構を使用すると、Shape
インタフェースを実装するオブジェクトは、一度に 1 セグメント単位で境界のパスを取り出すことを呼び出し側に許可することで、その境界の幾何学的図形を返すことができます。このインタフェースは、1 次から 3 次までのベジェ曲線 (ラインおよび 2 次または 3 次ベジェスプライン) を使用することでそれらのオブジェクトがその境界のパスを取り出せるようにします。
複数のサブパスは、「MOVETO」セグメントを使用して幾何学的図形を不連続にし、あるサブパスの最後から次のサブパスの先頭に移動することで表現できます。
各サブパスは、サブパスの最後のセグメントをそのサブパスの先頭の「MOVETO」セグメントと同じ座標で終わらせるか、または「CLOSE」セグメントを使用して最後の点から最初の点までラインセグメントを追加することで手作業で終了することができます。「CLOSE」セグメントを使用してパスを閉じる以外の方法で輪郭を手作業で閉じると、サブパスの終点で異なる線種装飾が使用される可能性があります。たとえば、BasicStroke
オブジェクトは「CLOSE」セグメントを検出した場合に最初の点と最後の点を結ぶために「JOIN」を線の装飾として使用しますが、最初の座標と同じ座標でパスを終わらせると、最後に「CAP」が線の装飾として使用されます。
Shape
,
BasicStroke
フィールドの概要 | |
---|---|
static int |
SEG_CLOSE
先行するサブパスがもっとも新しい SEG_MOVETO に対応する点までのラインセグメントを追加することで閉じられなければならないことを指定するセグメント型定数です。 |
static int |
SEG_CUBICTO
もっとも新しく指定された点から描画される 3 次パラメトリック曲線を指定する 3 つの点のセットのセグメント型定数です。 |
static int |
SEG_LINETO
もっとも新しく指定された点から描画されるラインの終点を指定する点のセグメント型定数です。 |
static int |
SEG_MOVETO
新しいサブパスの開始位置を指定する点のセグメント型定数です。 |
static int |
SEG_QUADTO
もっとも新しく指定された点から描画される 2 次パラメトリック曲線を指定する点のペアのセグメント型定数です。 |
static int |
WIND_EVEN_ODD
パスの内部を決めるために偶奇規則を指定する屈曲規則定数です。 |
static int |
WIND_NON_ZERO
パスの内部を決めるために非ゼロ規則を指定する屈曲規則定数です。 |
メソッドの概要 | |
---|---|
int |
currentSegment(double[] coords)
繰り返し処理の現在のパスセグメントの座標および型を返します。 |
int |
currentSegment(float[] coords)
繰り返し処理の現在のパスセグメントの座標および型を返します。 |
int |
getWindingRule()
パスの内部を決める屈曲規則を返します。 |
boolean |
isDone()
繰り返し処理が完了したかどうかを判定します。 |
void |
next()
移動の順方向にまだ点がある場合に、その方向に沿ってパスの次のセグメントに反復子を移動します。 |
フィールドの詳細 |
---|
static final int WIND_EVEN_ODD
static final int WIND_NON_ZERO
static final int SEG_MOVETO
static final int SEG_LINETO
static final int SEG_QUADTO
(t=[0..1])
でパラメトリックコントロール方程式を解くことで補間されます。この曲線のパラメトリックコントロール方程式は次のようになります。
P(t) = B(2,0)*CP + B(2,1)*P1 + B(2,2)*P2 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n!/ (m!* (n-m)!)
static final int SEG_CUBICTO
(t=[0..1])
でパラメトリックコントロール方程式を解くことで補間されます。この曲線のパラメトリックコントロール方程式は次のようになります。
P(t) = B(3,0)*CP + B(3,1)*P1 + B(3,2)*P2 + B(3,3)*P3 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n!/ (m!* (n-m)!)この形の曲線は、一般にベジェ曲線として知られています。
static final int SEG_CLOSE
メソッドの詳細 |
---|
int getWindingRule()
WIND_EVEN_ODD
,
WIND_NON_ZERO
boolean isDone()
true
、
そうでない場合は false
void next()
int currentSegment(float[] coords)
coords
- このメソッドから返されるデータを保持する
配列
SEG_MOVETO
,
SEG_LINETO
,
SEG_QUADTO
,
SEG_CUBICTO
,
SEG_CLOSE
int currentSegment(double[] coords)
coords
- このメソッドから返されるデータを保持する
配列
SEG_MOVETO
,
SEG_LINETO
,
SEG_QUADTO
,
SEG_CUBICTO
,
SEG_CLOSE
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。