public class FlatteningPathIterator extends Object implements PathIterator
FlatteningPathIterator
クラスは別のPathIterator
オブジェクトの平坦化されたビューを返します。その他のShape
クラスでこのクラスを使用すると、各クラス自体で補間計算を実行しなくても、そのパスの平坦化動作を実現できます。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()
移動の順方向にまだ点がある場合に、その方向に沿ってパスの次のセグメントにイテレータを移動します。
|
public FlatteningPathIterator(PathIterator src, double flatness)
FlatteningPathIterator
オブジェクトを構築します。イテレータは、ソース・イテレータから読み取られた曲線を、曲線あたり最大1024ライン・セグメントが生成される10レベルを超える分割に分割しません。src
- 反復対象の平坦化されていない元のパスflatness
- 制御点と平坦化された曲線の最大許容距離public FlatteningPathIterator(PathIterator src, double flatness, int limit)
FlatteningPathIterator
オブジェクトを構築します。limit
パラメータを使用すると、イテレータがflatness
パラメータに対して測定することなく、曲線が十分に平坦であると見なすまでに作成できる再帰的分割の最大数を制御できます。そのため、平坦化の反復によって、曲線あたり最大(2^limit)
を超えるライン・セグメントが生成されることはありません。src
- 反復対象の平坦化されていない元のパスflatness
- 制御点と平坦化された曲線の最大許容距離limit
- 任意の曲線セグメントに許可される再帰的分割の最大数IllegalArgumentException
- flatness
またはlimit
が0より小さい場合public double getFlatness()
FlatteningPathIterator
のフラットネス。public int getRecursionLimit()
FlatteningPathIterator
の再帰制限。public int getWindingRule()
getWindingRule
、インタフェース: PathIterator
PathIterator.WIND_EVEN_ODD
, PathIterator.WIND_NON_ZERO
public boolean isDone()
isDone
、インタフェース: PathIterator
true
、そうでない場合はfalse
。public void next()
next
、インタフェース: PathIterator
public int currentSegment(float[] coords)
currentSegment
、インタフェース: PathIterator
coords
- このメソッドから返されるデータを保持する配列NoSuchElementException
- 平坦化するパスに返す要素がない場合。PathIterator.SEG_MOVETO
, PathIterator.SEG_LINETO
, PathIterator.SEG_CLOSE
public int currentSegment(double[] coords)
currentSegment
、インタフェース: PathIterator
coords
- このメソッドから返されるデータを保持する配列NoSuchElementException
- 平坦化するパスに返す要素がない場合。PathIterator.SEG_MOVETO
, PathIterator.SEG_LINETO
, PathIterator.SEG_CLOSE
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.Use is subject to license termsDocumentation Redistribution Policyも参照してください。