模块  java.desktop
软件包  java.awt.geom

Class FlatteningPathIterator

  • 实现的所有接口
    PathIterator

    public class FlatteningPathIterator
    extends Object
    implements PathIterator
    FlatteningPathIterator类返回另一个PathIterator对象的展平视图。 其他Shape类可以使用此类为其路径提供展平行为,而无需自行执行插值计算。
    • 构造方法详细信息

      • 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 - 如果 flatnesslimit小于零
    • 方法详细信息

      • getFlatness

        public double getFlatness()
        返回此迭代器的平坦度。
        结果
        这个 FlatteningPathIterator的平坦度。
      • getRecursionLimit

        public int getRecursionLimit()
        返回此迭代器的递归限制。
        结果
        FlatteningPathIterator的递归限制。
      • 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_MOVETOPathIterator.SEG_LINETOPathIterator.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_MOVETOPathIterator.SEG_LINETOPathIterator.SEG_CLOSE