java.lang.Objectjava.awt.geom.FlatteningPathIterator
public class FlatteningPathIterator
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 |
| 构造方法详细信息 |
|---|
public FlatteningPathIterator(PathIterator src, double flatness)
FlatteningPathIterator 对象。迭代器不会将从源迭代器读取的任何曲线细分至 10 级以上,10 级以上的细分超过了每曲线 1024 个线段这一最大值。
src - 要在其上迭代的未变平初始路径
flatness - 控制点与变平曲线间允许的最大距离
public FlatteningPathIterator(PathIterator src, double flatness, int limit)
FlatteningPathIterator 对象。可以使用
limit 参数控制迭代器在不依靠
flatness 参数进行测量的情况下假定曲线已经足够平之前,可以进行的最大递归细分次数。因此,变平迭代永远不会为每个曲线生成多于最大值
(2^limit) 的线段数。
src - 要在其上迭代的未变平初始路径
flatness - 控制点到变平曲线间允许的最大距离
limit - 允许对任何曲线段进行递归细分的最大次数
IllegalArgumentException - 如果
flatness 或
limit 小于零。
| 方法详细信息 |
|---|
public double getFlatness()
FlatteningPathIterator 的平面度。
public int getRecursionLimit()
FlatteningPathIterator 的递归限制。
public int getWindingRule()
PathIterator 中的
getWindingRule
PathIterator.WIND_EVEN_ODD,
PathIterator.WIND_NON_ZERO
public boolean isDone()
PathIterator 中的
isDone
true;否则返回
false。
public void next()
PathIterator 中的
next
public int currentSegment(float[] coords)
PathIterator 中的
currentSegment
coords - 保存从此方法返回数据的数组
NoSuchElementException - 如果在要返回的变平路径中不存在多个元素。
PathIterator.SEG_MOVETO,
PathIterator.SEG_LINETO,
PathIterator.SEG_CLOSE
public int currentSegment(double[] coords)
PathIterator 中的
currentSegment
coords - 保存从此方法返回数据的数组
NoSuchElementException - 如果在要返回的变平路径中不存在多个元素。
PathIterator.SEG_MOVETO,
PathIterator.SEG_LINETO,
PathIterator.SEG_CLOSE