JavaTM 2
Platform
Std. Ed. v1.4.0

java.awt.geom
クラス FlatteningPathIterator

java.lang.Object
  |
  +--java.awt.geom.FlatteningPathIterator
すべての実装インタフェース:
PathIterator

public class FlatteningPathIterator
extends Object
implements PathIterator

FlatteningPathIterator クラスは、PathIterator オブジェクトの平坦化されたビューを返します。ほかの Shape クラスはこのクラスを使用することにより、独自に補間演算を実行する必要なくそれらのパスの平坦化動作を提供できます。


フィールドの概要
 
インタフェース java.awt.geom.PathIterator から継承したフィールド
SEG_CLOSE, SEG_CUBICTO, SEG_LINETO, SEG_MOVETO, SEG_QUADTO, WIND_EVEN_ODD, WIND_NON_ZERO
 
コンストラクタの概要
FlatteningPathIterator(PathIterator src, double flatness)
          繰り返し処理しながらパスを平坦化する新しい FlatteningPathIterator オブジェクトを構築します。
FlatteningPathIterator(PathIterator src, double flatness, int limit)
          繰り返し処理しながらパスを平坦化する新しい FlatteningPathIterator オブジェクトを構築します。
 
メソッドの概要
 int currentSegment(double[] coords)
          繰り返し処理の現在のパスセグメントの座標およびタイプを返します。
 int currentSegment(float[] coords)
          繰り返し処理の現在のパスセグメントの座標とタイプを返します。
 double getFlatness()
          この反復子のフラットネスを返します。
 int getRecursionLimit()
          この反復子の反復制限を返します。
 int getWindingRule()
          パスの内部を決める屈曲規則を返します。
 boolean isDone()
          繰り返し処理が完了したかどうかを判定します。
 void next()
          移動の順方向にまだ点がある場合に、その方向に沿ってパスの次のセグメントに反復子を移動します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

FlatteningPathIterator

public FlatteningPathIterator(PathIterator src,
                              double flatness)
繰り返し処理しながらパスを平坦化する新しい FlatteningPathIterator オブジェクトを構築します。この反復子は、ソースの反復子から読み込んだ各パスについて、最大 1024 のラインセグメントをもたらす 10 レベルを超えた分割を行いません。

パラメータ:
src - 繰り返し処理される平坦化されていない元のパス
flatness - 制御点と平坦化されたパスの間で許可される最大の距離

FlatteningPathIterator

public FlatteningPathIterator(PathIterator src,
                              double flatness,
                              int limit)
繰り返し処理しながらパスを平坦化する新しい FlatteningPathIterator オブジェクトを構築します。limit パラメータを使用すると、flatness パラメータに基づいて判断することなく、パスが十分に平坦であると見なされるまでに反復子が行える最大の反復分割数を制御できます。このため、平坦化された繰り返し処理は、各パスについて最大 (2^limit) を超える数のラインセグメントを生成しません。

パラメータ:
src - 繰り返し処理される元の平坦化されていないパス
flatness - 制御点と平坦化されたパスの間で許可される最大の距離
limit - パスセグメントで許可される最大の反復分割数
例外:
IllegalArgumentException - flatness または limit が 0 より小さい場合
メソッドの詳細

getFlatness

public double getFlatness()
この反復子のフラットネスを返します。

戻り値:
この FlatteningPathIterator のフラットネス

getRecursionLimit

public int getRecursionLimit()
この反復子の反復制限を返します。

戻り値:
この FlatteningPathIterator の反復制限

getWindingRule

public int getWindingRule()
パスの内部を決める屈曲規則を返します。

定義:
インタフェース PathIterator 内の getWindingRule
戻り値:
繰り返し処理中の、元の平坦化されていないパスに対する屈曲規則
関連項目:
PathIterator.WIND_EVEN_ODD, PathIterator.WIND_NON_ZERO

isDone

public boolean isDone()
繰り返し処理が完了したかどうかを判定します。

定義:
インタフェース PathIterator 内の isDone
戻り値:
すべてのセグメントが読み込まれている場合は true、そうでない場合は false

next

public void next()
移動の順方向にまだ点がある場合に、その方向に沿ってパスの次のセグメントに反復子を移動します。

定義:
インタフェース PathIterator 内の next

currentSegment

public int currentSegment(float[] coords)
繰り返し処理の現在のパスセグメントの座標とタイプを返します。戻り値は、パスセグメントのタイプ (SEG_MOVETO、SEG_LINETO、または SEG_CLOSE) です。長さ 6 の float 配列を渡す必要があり、この配列は点の座標を格納するために使用されます。各点は、float 型の x、y 座標のペアとして格納されます。タイプ SEG_MOVETO および SEG_LINETO は 1 つの点を返し、SEG_CLOSE は点を返しません。

定義:
インタフェース PathIterator 内の currentSegment
パラメータ:
coords - このメソッドから返されるデータを保持する配列
戻り値:
現在のパスセグメントのタイプ
例外:
NoSuchElementException - 平坦化しているパスで、返される要素がなくなった場合
関連項目:
PathIterator.SEG_MOVETO, PathIterator.SEG_LINETO, PathIterator.SEG_CLOSE

currentSegment

public int currentSegment(double[] coords)
繰り返し処理の現在のパスセグメントの座標およびタイプを返します。戻り値は、パスセグメントのタイプ (SEG_MOVETO、SEG_LINETO、または SEG_CLOSE) です。長さ 6 の double 配列を渡す必要があり、この配列は点の座標を格納するために使用されます。各点は、double 型の x、y 座標のペアとして格納されます。タイプ SEG_MOVETO および SEG_LINETO は 1 つの点を返し、SEG_CLOSE は点を返しません。

定義:
インタフェース PathIterator 内の currentSegment
パラメータ:
coords - このメソッドから返されるデータを保持する配列
戻り値:
現在のパスセグメントのタイプ
例外:
NoSuchElementException - 平坦化しているパスで、返される要素がなくなった場合
関連項目:
PathIterator.SEG_MOVETO, PathIterator.SEG_LINETO, PathIterator.SEG_CLOSE

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.