クラスFlatteningPathIterator

java.lang.Object
java.awt.geom.FlatteningPathIterator
すべての実装されたインタフェース:
PathIterator

public class FlatteningPathIterator extends Object implements PathIterator
FlatteningPathIteratorクラスは別のPathIteratorオブジェクトの平坦化されたビューを返します。 その他のShapeクラスでこのクラスを使用すると、各クラス自体で補間計算を実行しなくても、そのパスの平坦化動作を実現できます。
  • フィールドのサマリー

    インタフェースで宣言されたフィールド PathIterator

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

    コンストラクタ
    コンストラクタ
    説明
    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
    繰返し処理が完了したかどうかを判定します。
    void
    移動の順方向にまだ点がある場合に、その方向に沿ってパスの次のセグメントにイテレータを移動します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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
      戻り値:
      反復対象の平坦化されていない元のパスの屈曲規則。
      関連項目:
    • 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 - 平坦化するパスに返す要素がない場合。
      関連項目:
    • 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 - 平坦化するパスに返す要素がない場合。
      関連項目: