|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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
flatness
或limit
小于零。
方法详细信息 |
---|
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