Класс FlatteningPathIterator
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 |
Создаёт новый объект 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/geom/FlatteningPathIterator.html