我正在编写自己的PathIterator实现。

目前,我用不平坦度实现了一种不平坦的方法:

@Override
public PathIterator getPathIterator(AffineTransform at, double flatness) {
    return getPathIterator(at);
}


即,我忽略了它。

使用flatness参数最简单的方法是什么?

我当前的迭代器给出了一系列平行的垂直线(之间没有连接)。对我来说,实现平面度感知版本的迭代器有多重要?在哪里使用?

最佳答案

引用的getPathIterator()应该仅返回SEG_MOVETOSEG_LINETOSEG_CLOSE段类型。如果您的Shape没有其他细分类型,例如SEG_CUBICTOSEG_QUADTOflatness无关。作为一个具体的示例,Rectangle2D实现指定“由于矩形已经是平面,因此将忽略平面度参数”。

07-25 23:28