appendix> 2D> PathIterator TOPUPPREVNEXT

インターフェース java.awt.geom.PathIterator

【主な機能】

PathIterator インタフェースの提供する機構を使用すると、 Shape インタフェースを実装するオブジェクトは、 一度に 1 セグメント単位で境界のパスを取り出すことを呼び出し側に許可することで、 その境界のジオメトリを返すことができます。 このインタフェースは、 直線、2次ベジエ曲線、3次ベジエ曲線 を使用することでそれらのオブジェクトがその境界のパスを取り出せるようにします。

複数のサブパスは、 「MOVETO」セグメントを使用してジオメトリを不連続にし、 あるサブパスの最後から次のサブパスの先頭に移動することで表現できます。

各サブパスは、サブパスの最後のセグメントをそのサブパスの先頭の 「MOVETO」セグメントと同じ座標で終わらせるか、 または「CLOSE」セグメントを使用して 最後の点から最初の点までラインセグメントを追加することで手作業で終了することができます。 「CLOSE」セグメントを使用してパスを閉じる以外の方法で輪郭を手作業で閉じると、 サブパスの終点で異なる線種装飾が使用される可能性があります。 たとえば、BasicStroke オブジェクトは 「CLOSE」セグメントを検出した場合に最初の点と最後の点を結ぶために 「JOIN」を線の装飾として使用しますが、 最初の座標と同じ座標でパスを終わらせると、 最後に「CAP」が線の装飾として使用されます。

【主なフィールド】

フィールド
int SEG_CLOSE 先行するサブパスがもっとも新しい SEG_MOVETO に対応する点までのラインセグメントを追加することで 閉じられなければならないことを指定するセグメント型定数です。
int SEG_CUBICTO もっとも新しく指定された点から描画される 3次パラメトリック曲線を指定する 3つの点のセットのセグメント型定数です。
int SEG_LINETO もっとも新しく指定された点から 描画されるラインの終点を指定する点のセグメント型定数です。
int SEG_MOVETO 新しいサブパスの開始位置を指定する点のセグメント型定数です。
int SEG_QUADTO もっとも新しく指定された点から描画される 2 次パラメトリック曲線を指定する点のペアのセグメント型定数です。
int WIND_EVEN_ODD パスの内部を決めるために偶奇規則を指定する屈曲規則定数です。
int WIND_NON_ZERO パスの内部を決めるために非ゼロ規則を指定する屈曲規則定数です。

【メソッド】

メソッド機能
int currentSegment ( double[] coords )
int currentSegment ( float[] coords )
繰り返し処理の現在のパスセグメントの座標および型を返します。
int getWindingRule ( ) パスの内部を決める屈曲規則を返します。
boolean isDone ( ) 繰り返し処理が完了したかどうかを判定します。
void next ( ) 移動の順方向にまだ点がある場合に、 その方向に沿ってパスの次のセグメントに反復子を移動します。


更新日:2004-04-09