Класс FlatteningPathIterator
java.lang.Object
java.awt.geom.FlatteningPathIterator
- Все реализуемые интерфейсы:
PathIterator
public class FlatteningPathIterator extends Object implements PathIterator
Класс
FlatteningPathIterator возвращает аппроксимированное представление другого объекта PathIterator. Другие классы Shape могут использовать этот класс для аппроксимации своих контуров, не выполняя вычисления интерполяции самостоятельно.Краткое описание полей
Поля, объявленные в интерфейсе PathIterator
SEG_CLOSE, SEG_CUBICTO, SEG_LINETO, SEG_MOVETO, SEG_QUADTO, WIND_EVEN_ODD, WIND_NON_ZERO
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
FlatteningPathIterator |
Создает новый объект FlatteningPathIterator, который аппроксимирует контур по мере его обхода. |
FlatteningPathIterator |
Создает новый объект FlatteningPathIterator, который аппроксимирует контур по мере его обхода. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
int |
currentSegment |
Возвращает координаты и тип текущего сегмента контура в итерации. |
int |
currentSegment |
Возвращает координаты и тип текущего сегмента контура в итерации. |
double |
getFlatness() |
Возвращает плоскостность этого итератора. |
int |
getRecursionLimit() |
Возвращает предел рекурсии этого итератора. |
int |
getWindingRule() |
Возвращает правило определения внутренней области контура. |
boolean |
isDone() |
Проверяет, завершена ли итерация. |
void |
next() |
Перемещает итератор к следующему сегменту контура в основном направлении обхода, пока в этом направлении остаются точки. |
Подробное описание конструкторов
FlatteningPathIterator
public FlatteningPathIterator(PathIterator src, double flatness)
Создает новый объект
FlatteningPathIterator, который аппроксимирует контур по мере его обхода. Итератор не делит кривую, считываемую из исходного итератора, более чем на 10 уровней, что дает не более 1024 отрезков на кривую.- Параметры:
-
src— исходный неаппроксимированный контур, по которому выполняется итерация -
flatness— максимально допустимое расстояние между контрольными точками и аппроксимированной кривой
FlatteningPathIterator
public FlatteningPathIterator(PathIterator src, double flatness, int limit)
Создает новый объект
FlatteningPathIterator, который аппроксимирует контур по мере его обхода. Параметр limit позволяет задать максимальное количество рекурсивных делений, которые итератор может выполнить, прежде чем считать кривую достаточно плоской без проверки относительно параметра flatness. Поэтому при аппроксимации генерируется не более (2^limit) отрезков на кривую.- Параметры:
-
src— исходный неаппроксимированный контур, по которому выполняется итерация -
flatness— максимально допустимое расстояние между контрольными точками и аппроксимированной кривой -
limit— максимальное количество рекурсивных делений для любого сегмента кривой - Исключения:
-
IllegalArgumentException— еслиflatnessилиlimitменьше нуля
Подробное описание методов
getFlatness
public double getFlatness()
Возвращает плоскостность этого итератора.
- Возвращает:
- плоскостность этого
FlatteningPathIterator.
getRecursionLimit
public int getRecursionLimit()
Возвращает предел рекурсии этого итератора.
- Возвращает:
- предел рекурсии этого
FlatteningPathIterator.
getWindingRule
public int getWindingRule()
Возвращает правило определения внутренней области контура.
- Определено в:
-
getWindingRuleв интерфейсеPathIterator - Возвращает:
- правило обхода исходного неаппроксимированного контура, по которому выполняется итерация.
- См. также:
isDone
public boolean isDone()
Проверяет, завершена ли итерация.
- Определено в:
-
isDoneв интерфейсеPathIterator - Возвращает:
-
true, если все сегменты прочитаны; в противном случае —false.
next
public void next()
Перемещает итератор к следующему сегменту контура в основном направлении обхода, пока в этом направлении остаются точки.
- Определено в:
-
nextв интерфейсеPathIterator
currentSegment
public int currentSegment(float[] coords)
Возвращает координаты и тип текущего сегмента контура в итерации. Возвращаемое значение — тип сегмента контура: SEG_MOVETO, SEG_LINETO или SEG_CLOSE. Необходимо передать массив float длины 6, который можно использовать для хранения координат точки (или точек). Координаты каждой точки хранятся парой значений float x,y. Типы SEG_MOVETO и SEG_LINETO возвращают одну точку, а SEG_CLOSE не возвращает точек.
- Определено в:
-
currentSegmentв интерфейсеPathIterator - Параметры:
-
coords— массив для хранения данных, возвращаемых этим методом - Возвращает:
- тип текущего сегмента контура.
- Исключения:
-
NoSuchElementException— если в аппроксимированном контуре больше нет элементов для возврата. - См. также:
currentSegment
public int currentSegment(double[] coords)
Возвращает координаты и тип текущего сегмента контура в итерации. Возвращаемое значение — тип сегмента контура: SEG_MOVETO, SEG_LINETO или SEG_CLOSE. Необходимо передать массив double длины 6, который можно использовать для хранения координат точки (или точек). Координаты каждой точки хранятся парой значений double x,y. Типы SEG_MOVETO и SEG_LINETO возвращают одну точку, а SEG_CLOSE не возвращает точек.
- Определено в:
-
currentSegmentв интерфейсеPathIterator - Параметры:
-
coords— массив для хранения данных, возвращаемых этим методом - Возвращает:
- тип текущего сегмента контура.
- Исключения:
-
NoSuchElementException— если в аппроксимированном контуре больше нет элементов для возврата. - См. также:
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/geom/FlatteningPathIterator.html