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
Constructor and Description |
---|
FlatteningPathIterator(PathIterator src, double flatness)
构造一个新的
FlatteningPathIterator 对象,在对其进行迭代时使其平滑。
|
FlatteningPathIterator(PathIterator src, double flatness, int limit)
构造一个新的
FlatteningPathIterator 对象,在对其进行迭代时使其平滑。
|
Modifier and Type | Method and Description |
---|---|
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
对象,在对其进行迭代时使其平滑。
迭代器不会将从源迭代器读取的任何曲线细分到超过10个细分级别,每个曲线最多可生成1024个线段。
src
- 原始的未平坦的路径被迭代
flatness
- 控制点和平坦曲线之间的最大允许距离
public FlatteningPathIterator(PathIterator src, double flatness, int limit)
FlatteningPathIterator
对象,使它在遍历它时平坦化一个路径。
limit
参数允许您控制迭代器可以在假设曲线足够宽但flatness
flatness参数进行测量之前可以进行的递归细分的最大数量。
因此,平坦化的迭代不会产生每曲线最多(2^limit)
线段。
src
- 原始的未平坦的路径被迭代
flatness
- 控制点与平坦曲线之间的最大允许距离
limit
- 任何曲线段允许的递归细分的最大数量
IllegalArgumentException
- 如果
flatness
或
limit
小于零
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