Не можете понять, что делает параметр flattnes в PathIterator?

Я пишу свой PathIterator реализация.

В настоящее время я реализовал метод с плоскостностью без плоскостности:

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

то есть я игнорирую это.

Какой самый простой способ работы с flatness параметр?

Мой текущий итератор дает серию параллельных вертикальных линий (не связанных между собой). Насколько важно для меня реализовать плоскостную версию итератора? Где это используется?

1 ответ

getPathIterator() цитируемый должен возвращать только SEG_MOVETO, SEG_LINETO, а также SEG_CLOSE типы сегментов. Если твой Shape не имеет других типов сегментов, например SEG_CUBICTO или же SEG_QUADTO, flatness не имеет значения. В качестве конкретного примера Rectangle2D реализация указывает, что "Поскольку прямоугольники уже плоские, параметр плоскостности игнорируется".

Другие вопросы по тегам