- java.lang.Object
-
- java.awt.geom.FlatteningPathIterator
-
- 实现的所有接口
-
PathIterator
public class FlatteningPathIterator extends Object implements PathIterator
FlatteningPathIterator
类返回另一个PathIterator
对象的展平视图。 其他Shape
类可以使用此类为其路径提供展平行为,而无需自行执行插值计算。
-
-
字段汇总
-
Fields declared in interface 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()
只要在该方向上有更多的点,迭代器就会沿着主要遍历方向向前移动到路径的下一个段。
-
-
-
构造方法详细信息
-
FlatteningPathIterator
public FlatteningPathIterator(PathIterator src, double flatness)
构造一个新的FlatteningPathIterator
对象,在迭代路径时展平路径。 迭代器不会将从源迭代器读取的任何曲线细分为超过10个细分级别,这会产生每条曲线最多1024个线段。- 参数
-
src
- 迭代的原始unflattened路径 -
flatness
- 控制点与展平曲线之间的最大允许距离
-
FlatteningPathIterator
public FlatteningPathIterator(PathIterator src, double flatness, int limit)
构造一个新的FlatteningPathIterator
对象,该对象在迭代路径时展平路径。limit
参数允许您控制迭代器在假定曲线足够平坦而不测量flatness
参数之前可以进行的递归细分的最大数量。 因此,展平迭代从不会为每条曲线生成超过最多(2^limit)
线段。- 参数
-
src
- 迭代的原始unflattened路径 -
flatness
- 控制点与展平曲线之间的最大允许距离 -
limit
- 任何曲线段允许的最大递归细分数 - 异常
-
IllegalArgumentException
- 如果flatness
或limit
小于零
-
-
方法详细信息
-
getFlatness
public double getFlatness()
返回此迭代器的平坦度。- 结果
-
这个
FlatteningPathIterator
的平坦度。
-
getRecursionLimit
public int getRecursionLimit()
返回此迭代器的递归限制。- 结果
-
此
FlatteningPathIterator
的递归限制。
-
getWindingRule
public int getWindingRule()
返回用于确定路径内部的缠绕规则。- Specified by:
-
getWindingRule
接口PathIterator
- 结果
- 重复原始未平坦路径的缠绕规则。
- 另请参见:
-
PathIterator.WIND_EVEN_ODD
,PathIterator.WIND_NON_ZERO
-
isDone
public boolean isDone()
测试迭代是否完成。- Specified by:
-
isDone
在界面PathIterator
- 结果
-
true
如果已读取所有段; 否则为false
。
-
next
public void next()
只要在该方向上有更多的点,迭代器就会沿着主要遍历方向向前移动到路径的下一个段。- Specified by:
-
next
接口PathIterator
-
currentSegment
public int currentSegment(float[] coords)
返回迭代中当前路径段的坐标和类型。 返回值是路径段类型:SEG_MOVETO,SEG_LINETO或SEG_CLOSE。 必须传入长度为6的浮点数组,并可用于存储点的坐标。 每个点都存储为一对浮点x,y坐标。 SEG_MOVETO和SEG_LINETO类型返回一个点,SEG_CLOSE不返回任何点。- Specified by:
-
currentSegment
接口PathIterator
- 参数
-
coords
- 包含此方法返回的数据的数组 - 结果
- 当前路径段的路径段类型。
- 异常
-
NoSuchElementException
- 如果要返回的展平路径中没有其他元素。 - 另请参见:
-
PathIterator.SEG_MOVETO
,PathIterator.SEG_LINETO
,PathIterator.SEG_CLOSE
-
currentSegment
public int currentSegment(double[] coords)
返回迭代中当前路径段的坐标和类型。 返回值是路径段类型:SEG_MOVETO,SEG_LINETO或SEG_CLOSE。 必须传入长度为6的双数组,并且可以用于存储点的坐标。 每个点都存储为一对双x,y坐标。 SEG_MOVETO和SEG_LINETO类型返回一个点,SEG_CLOSE不返回任何点。- Specified by:
-
currentSegment
接口PathIterator
- 参数
-
coords
- 包含此方法返回的数据的数组 - 结果
- 当前路径段的路径段类型。
- 异常
-
NoSuchElementException
- 如果要返回的展平路径中没有其他元素。 - 另请参见:
-
PathIterator.SEG_MOVETO
,PathIterator.SEG_LINETO
,PathIterator.SEG_CLOSE
-
-