|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.geom
接口 PathIterator
- 所有已知实现类:
- FlatteningPathIterator
-
public interface PathIterator
PathIterator
接口通过允许调用方一次一段地获取边界的路径,为实现 Shape
接口的对象提供返回其边界几何形状的机制。此接口允许这些对象一次一段地获取其边界,方法是使用从一阶到三阶 Bézier 曲线,这些曲线是直线、二次或三次 Bézier 样条。
多个子路径可以通过使用 "MOVETO" 段在几何形状中创建间断性以从一个子路径的结尾移动到下一个子路径的开头来表示。
每个子路径都可以被手动关闭,方法是在该子路径的起始 "MOVETO" 段所在的坐标上结束子路径中的最后一段,或者使用 "CLOSE" 段追加一条线段连接最后一点和第一点。应该知道,相对于使用 "CLOSE" 段关闭路径而言,手动关闭轮廓可能导致在子路径的结束点使用不同的线风格装饰。例如,BasicStroke
对象使用线 "JOIN" 装饰来连接第一点和最后一点(如果遇到 "CLOSE" 段),而在该开头坐标上结束路径将导致在结尾使用线 "CAP" 装饰。
- 另请参见:
-
Shape
,BasicStroke
字段摘要 | |
---|---|
static int |
SEG_CLOSE 该段类型常量指定应该通过将线段追加到与最新 SEG_MOVETO 对应的点来关闭前面的子路径。 |
static int |
SEG_CUBICTO 该段类型常量针对某个 3 个点的集合,指定要根据最新指定点绘制的三次参数曲线。 |
static int |
SEG_LINETO 该段类型常量针对某个点,指定要根据最新指定点绘制的线的结束点。 |
static int |
SEG_MOVETO 该段类型常量针对某个点,指定新子路径的起始位置。 |
static int |
SEG_QUADTO 该段类型常量针对某对点,指定要根据最新指定点绘制的二次参数曲线。 |
static int |
WIND_EVEN_ODD 用于指定确定路径内部的奇偶规则的缠绕规则常量。 |
static int |
WIND_NON_ZERO 用于指定确定路径内部的非零规则的缠绕规则常量。 |
方法摘要 | |
---|---|
int |
currentSegment(double[] coords) 使用迭代返回当前路径段的坐标和类型。 |
int |
currentSegment(float[] coords) 使用迭代返回当前路径段的坐标和类型。 |
int |
getWindingRule() 返回用于确定路径迭代的缠绕规则。 |
boolean |
isDone() 测试迭代是否完成。 |
void |
next() 只要最初的遍历方向上还存在点,就沿该方向将迭代器移动到下一个路径段。 |
字段详细信息 |
---|
WIND_EVEN_ODD
static final int WIND_EVEN_ODD
-
用于指定确定路径内部的奇偶规则的缠绕规则常量。奇偶规则规定,如果路径段穿过任意方向上从一点向无穷大绘制的射线的次数为奇数,则该点位于路径内。
- 另请参见:
- 常量字段值
WIND_NON_ZERO
static final int WIND_NON_ZERO
-
用于指定确定路径内部的非零规则的缠绕规则常量。非零规则规定,如果路径段按逆时针方向与按顺时针方向穿过任意方向上从一点向无穷大绘制的射线的次数不同,则该点位于路径内。
- 另请参见:
- 常量字段值
SEG_MOVETO
static final int SEG_MOVETO
-
该段类型常量针对某个点,指定新子路径的起始位置。
- 另请参见:
- 常量字段值
SEG_LINETO
static final int SEG_LINETO
-
该段类型常量针对某个点,指定要根据最新指定点绘制的线的结束点。
- 另请参见:
- 常量字段值
SEG_QUADTO
static final int SEG_QUADTO
-
该段类型常量针对某对点,指定要根据最新指定点绘制的二次参数曲线。该曲线通过使用最新指定的(当前)点 (CP)、第一个控制点 (P1) 和最后一个内插的控制点 (P2) 在
(t=[0..1])
范围内解参数控制方程来内插。此曲线的参数控制方程为:P(t) = B(2,0)*CP + B(2,1)*P1 + B(2,2)*P2 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n! / (m! * (n-m)!)
- 另请参见:
- 常量字段值
SEG_CUBICTO
static final int SEG_CUBICTO
-
该段类型常量针对某个 3 个点的集合,指定要根据最新指定点绘制的三次参数曲线。该曲线通过使用最新指定的(当前)点 (CP)、第一个控制点 (P1)、第二个控制点 (P2) 和最后一个内插的控制点 (P3) 在
(t=[0..1])
范围内解参数控制方程来内插。此曲线的参数控制方程为:P(t) = B(3,0)*CP + B(3,1)*P1 + B(3,2)*P2 + B(3,3)*P3 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n! / (m! * (n-m)!)
这一形式的曲线通常称为 Bézier 曲线。- 另请参见:
- 常量字段值
SEG_CLOSE
static final int SEG_CLOSE
-
该段类型常量指定应该通过将线段追加到与最新 SEG_MOVETO 对应的点来关闭前面的子路径。
- 另请参见:
- 常量字段值
方法详细信息 |
---|
getWindingRule
int getWindingRule()
- 返回用于确定路径迭代的缠绕规则。
-
- 返回:
- 缠绕规则。
- 另请参见:
-
WIND_EVEN_ODD
,WIND_NON_ZERO