java.lang.Object
java.awt.geom.FlatteningPathIterator
- 所有已实现的接口:
-
PathIterator
-
Field Summary
Fields declared in interface java.awt.geom.PathIterator
SEG_CLOSE, SEG_CUBICTO, SEG_LINETO, SEG_MOVETO, SEG_QUADTO, WIND_EVEN_ODD, WIND_NON_ZERO
-
Constructor Summary
ConstructorDescriptionFlatteningPathIterator
(PathIterator src, double flatness) 构造一个新的FlatteningPathIterator
对象,它在迭代时将路径进行平坦化。FlatteningPathIterator
(PathIterator src, double flatness, int limit) 构造一个新的FlatteningPathIterator
对象,它在迭代时将路径进行平坦化。 -
Method Summary
Modifier and TypeMethodDescriptionint
currentSegment
(double[] coords) 返回迭代中当前路径段的坐标和类型。int
currentSegment
(float[] coords) 返回迭代中当前路径段的坐标和类型。double
返回此迭代器的平坦度。int
返回此迭代器的递归限制。int
返回用于确定路径内部的绕组规则。boolean
isDone()
检查迭代是否完成。void
next()
将迭代器移动到路径的下一个段,沿着主要遍历方向向前,只要在该方向上还有更多点。
-
Constructor Details
-
FlatteningPathIterator
构造一个新的FlatteningPathIterator
对象,它在迭代时将路径进行平坦化。该迭代器不会将从源迭代器读取的任何曲线细分到超过10个细分级别,这将产生每条曲线最多1024个线段。- 参数:
-
src
- 正在迭代的原始未平坦化路径 -
flatness
- 控制点与平坦曲线之间的最大允许距离
-
FlatteningPathIterator
构造一个新的FlatteningPathIterator
对象,它在迭代时将路径进行平坦化。limit
参数允许您控制迭代器在假定曲线足够平坦而不测量与flatness
参数相比之前可以进行的最大递归细分数。因此,平坦迭代永远不会生成超过每条曲线的最大数量(2^limit)
线段。- 参数:
-
src
- 正在迭代的原始未平坦化路径 -
flatness
- 控制点与平坦曲线之间的最大允许距离 -
limit
- 任何曲线段允许的最大递归细分数 - 抛出:
-
IllegalArgumentException
- 如果flatness
或limit
小于零
-
-
Method Details
-
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的浮点数组,并可用于存储点的坐标。每个点都存储为一对浮点x、y坐标。SEG_MOVETO和SEG_LINETO类型返回一个点,SEG_CLOSE不返回任何点。- 指定者:
-
currentSegment
在接口PathIterator
中 - 参数:
-
coords
- 保存从此方法返回的数据的数组 - 返回:
- 当前路径段的路径段类型。
- 抛出:
-
NoSuchElementException
- 如果在要返回的平坦路径中没有更多元素 - 参见:
-
currentSegment
public int currentSegment(double[] coords) 返回迭代中当前路径段的坐标和类型。返回值是路径段类型: SEG_MOVETO、SEG_LINETO或SEG_CLOSE。必须传入长度为6的双精度数组,并可用于存储点的坐标。每个点都存储为一对双精度x、y坐标。SEG_MOVETO和SEG_LINETO类型返回一个点,SEG_CLOSE不返回任何点。- 指定者:
-
currentSegment
在接口PathIterator
中 - 参数:
-
coords
- 保存从此方法返回的数据的数组 - 返回:
- 当前路径段的路径段类型。
- 抛出:
-
NoSuchElementException
- 如果在要返回的平坦路径中没有更多元素 - 参见:
-