JavaTM 2 Platform
Std. Ed. v1.3

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.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.