返回介绍

java.awt.geom 类 FlatteningPathIterator

发布于 2019-10-04 09:50:24 字数 7272 浏览 973 评论 0 收藏 0

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(PathIteratorsrc, doubleflatness)

构造一个在路径上迭代时能使路径变平的新 FlatteningPathIterator 对象。

FlatteningPathIterator(PathIteratorsrc, doubleflatness, intlimit)

构造一个在路径上迭代时能使路径变平的新 FlatteningPathIterator 对象。

方法摘要
intcurrentSegment(double[]coords)

使用迭代返回当前路径段的坐标和类型。

intcurrentSegment(float[]coords)

使用迭代返回当前路径段的坐标和类型。

doublegetFlatness()

返回此迭代器的平面度。

intgetRecursionLimit()

返回此迭代器的递归限制。

intgetWindingRule()

返回用于确定路径迭代的缠绕规则。

booleanisDone()

测试迭代是否完成。

voidnext()

只要最初的遍历方向上存在多个点,就沿该方向将迭代器移动到下一个路径段。

从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

构造方法详细信息

FlatteningPathIterator

public FlatteningPathIterator(PathIteratorsrc,
                              doubleflatness)
构造一个在路径上迭代时能使路径变平的新 FlatteningPathIterator 对象。迭代器不会将从源迭代器读取的任何曲线细分至 10 级以上,10 级以上的细分超过了每曲线 1024 个线段这一最大值。
参数:
src - 要在其上迭代的未变平初始路径
flatness - 控制点与变平曲线间允许的最大距离

FlatteningPathIterator

public FlatteningPathIterator(PathIteratorsrc,
                              doubleflatness,
                              intlimit)
构造一个在路径上迭代时能使路径变平的新 FlatteningPathIterator 对象。可以使用 limit 参数控制迭代器在不依靠 flatness 参数进行测量的情况下假定曲线已经足够平之前,可以进行的最大递归细分次数。因此,变平迭代永远不会为每个曲线生成多于最大值 (2^limit) 的线段数。
参数:
src - 要在其上迭代的未变平初始路径
flatness - 控制点到变平曲线间允许的最大距离
limit - 允许对任何曲线段进行递归细分的最大次数
抛出:
IllegalArgumentException - 如果 flatnesslimit 小于零。

方法详细信息

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

currentSegment

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文