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
このイテレータのフラットネスを返します。int
このイテレータの再帰制限を返します。int
パスの内部を決める屈曲規則を返します。boolean
isDone()
繰返し処理が完了したかどうかを判定します。void
next()
移動の順方向にまだ点がある場合に、その方向に沿ってパスの次のセグメントにイテレータを移動します。
-
コンストラクタの詳細
-
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()パスの内部を決める屈曲規則を返します。- 定義:
getWindingRule
、インタフェース:PathIterator
- 戻り値:
- 反復対象の平坦化されていない元のパスの屈曲規則。
- 関連項目:
PathIterator.WIND_EVEN_ODD
,PathIterator.WIND_NON_ZERO
-
isDone
public boolean isDone()繰返し処理が完了したかどうかを判定します。- 定義:
isDone
、インタフェース:PathIterator
- 戻り値:
- すべてのセグメントが読み込まれている場合は
true
、そうでない場合はfalse
。
-
next
public void next()移動の順方向にまだ点がある場合に、その方向に沿ってパスの次のセグメントにイテレータを移動します。- 定義:
next
、インタフェース:PathIterator
-
currentSegment
public int currentSegment(float[] coords)繰返し処理の現在のパス・セグメントの座標および型を返します。 戻り値はパス・セグメントのタイプであり、SEG_MOVETO、SEG_LINETO、SEG_CLOSEのいずれかです。 長さ6のfloat配列を渡さなければならず、それは点の座標を格納するために使用されます。 各点は、float x,y座標のペアとして格納されます。 SEG_MOVETO型およびSEG_LINETO型は1つの点を返し、SEG_CLOSEは点を返しません。- 定義:
currentSegment
、インタフェース:PathIterator
- パラメータ:
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は点を返しません。- 定義:
currentSegment
、インタフェース:PathIterator
- パラメータ:
coords
- このメソッドから返されるデータを保持する配列- 戻り値:
- 現在のパス・セグメントのタイプ。
- 例外:
NoSuchElementException
- 平坦化するパスに返す要素がない場合。- 関連項目:
PathIterator.SEG_MOVETO
,PathIterator.SEG_LINETO
,PathIterator.SEG_CLOSE
-