JavaTM 2 Platform
Standard Ed. 6

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 物件。迭代器不會將從源迭代器讀取的任何曲線細分至 10 級以上,10 級以上的細分超過了每曲線 1024 個線段這一最大值。

參數:
src - 要在其上迭代的未變平初始路徑
flatness - 控制點與變平曲線間允許的最大距離

FlatteningPathIterator

public FlatteningPathIterator(PathIterator src,
                              double flatness,
                              int limit)
建構一個在路徑上迭代時能使路徑變平的新 FlatteningPathIterator 物件。可以使用 limit 參數控制迭代器在不依靠 flatness 參數進行測量的情況下假定曲線已經足夠平之前,可以進行的最大遞歸細分次數。因此,變平迭代永遠不會為每個曲線產生多於最大值 (2^limit) 的線段數。

參數:
src - 要在其上迭代的未變平初始路徑
flatness - 控制點到變平曲線間允許的最大距離
limit - 允許對任何曲線段進行遞歸細分的最大次數
拋出:
IllegalArgumentException - 如果 flatnesslimit 小於零。
方法詳細資訊

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 型別均返回一個點,而 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 型別均返回一個點,而 SEG_CLOSE 不返回點。

指定者:
介面 PathIterator 中的 currentSegment
參數:
coords - 保存從此方法返回資料的陣列
返回:
當前路徑段的路徑段型別。
拋出:
NoSuchElementException - 如果在要返回的變平路徑中不存在多個元素。
另請參見:
PathIterator.SEG_MOVETO, PathIterator.SEG_LINETO, PathIterator.SEG_CLOSE

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only