- 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对象,在迭代路径时展平路径。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 intcurrentSegment(double[] coords)返回迭代中当前路径段的坐标和类型。intcurrentSegment(float[] coords)返回迭代中当前路径段的坐标和类型。doublegetFlatness()返回此迭代器的平坦度。intgetRecursionLimit()返回此迭代器的递归限制。intgetWindingRule()返回用于确定路径内部的缠绕规则。booleanisDone()测试迭代是否完成。voidnext()只要在该方向上有更多的点,迭代器就会沿着主要遍历方向向前移动到路径的下一个段。
-
-
-
构造方法详细信息
-
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
-
-