Module java.desktop
Package java.awt.geom

Class FlatteningPathIterator

java.lang.Object
java.awt.geom.FlatteningPathIterator
所有已实现的接口:
PathIterator

public class FlatteningPathIterator extends Object implements PathIterator
FlatteningPathIterator类返回另一个PathIterator对象的平坦视图。其他Shape类可以使用此类为其路径提供平坦化行为,而无需执行插值计算。
  • Constructor Details

    • FlatteningPathIterator

      public FlatteningPathIterator(PathIterator src, double flatness)
      构造一个新的FlatteningPathIterator对象,它在迭代时将路径进行平坦化。该迭代器不会将从源迭代器读取的任何曲线细分到超过10个细分级别,这将产生每条曲线最多1024个线段。
      参数:
      src - 正在迭代的原始未平坦化路径
      flatness - 控制点与平坦曲线之间的最大允许距离
    • FlatteningPathIterator

      public FlatteningPathIterator(PathIterator src, double flatness, int limit)
      构造一个新的FlatteningPathIterator对象,它在迭代时将路径进行平坦化。 limit参数允许您控制迭代器在假定曲线足够平坦而不测量与flatness参数相比之前可以进行的最大递归细分数。因此,平坦迭代永远不会生成超过每条曲线的最大数量(2^limit)线段。
      参数:
      src - 正在迭代的原始未平坦化路径
      flatness - 控制点与平坦曲线之间的最大允许距离
      limit - 任何曲线段允许的最大递归细分数
      抛出:
      IllegalArgumentException - 如果flatnesslimit小于零
  • Method Details

    • getFlatness

      public double getFlatness()
      返回此迭代器的平坦度。
      返回:
      FlatteningPathIterator的平坦度。
    • getRecursionLimit

      public int getRecursionLimit()
      返回此迭代器的递归限制。
      返回:
      FlatteningPathIterator的递归限制。
    • getWindingRule

      public int getWindingRule()
      返回用于确定路径内部的绕组规则。
      指定者:
      getWindingRule 在接口 PathIterator
      返回:
      正在迭代的原始未平坦化路径的绕组规则。
      参见:
    • isDone

      public boolean isDone()
      检查迭代是否完成。
      指定者:
      isDone 在接口 PathIterator
      返回:
      如果所有段均已读取,则返回true; 否则返回false
    • next

      public void next()
      将迭代器移动到路径的下一个段,沿着主要遍历方向向前,只要在该方向上还有更多点。
      指定者:
      next 在接口 PathIterator
    • currentSegment

      public int currentSegment(float[] coords)
      返回迭代中当前路径段的坐标和类型。返回值是路径段类型: SEG_MOVETO、SEG_LINETO或SEG_CLOSE。必须传入长度为6的浮点数组,并可用于存储点的坐标。每个点都存储为一对浮点x、y坐标。SEG_MOVETO和SEG_LINETO类型返回一个点,SEG_CLOSE不返回任何点。
      指定者:
      currentSegment 在接口 PathIterator
      参数:
      coords - 保存从此方法返回的数据的数组
      返回:
      当前路径段的路径段类型。
      抛出:
      NoSuchElementException - 如果在要返回的平坦路径中没有更多元素
      参见:
    • currentSegment

      public int currentSegment(double[] coords)
      返回迭代中当前路径段的坐标和类型。返回值是路径段类型: SEG_MOVETO、SEG_LINETO或SEG_CLOSE。必须传入长度为6的双精度数组,并可用于存储点的坐标。每个点都存储为一对双精度x、y坐标。SEG_MOVETO和SEG_LINETO类型返回一个点,SEG_CLOSE不返回任何点。
      指定者:
      currentSegment 在接口 PathIterator
      参数:
      coords - 保存从此方法返回的数据的数组
      返回:
      当前路径段的路径段类型。
      抛出:
      NoSuchElementException - 如果在要返回的平坦路径中没有更多元素
      参见: