Spec-Zone.ru › OpenJDK 25

Класс 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(PathIterator src, double flatness)
Создает новый объект FlatteningPathIterator, который аппроксимирует контур по мере его обхода.
FlatteningPathIterator(PathIterator src, double flatness, int limit)
Создает новый объект FlatteningPathIterator, который аппроксимирует контур по мере его обхода.

Краткое описание методов

Модификатор и тип Метод Описание
int currentSegment(double[] coords)
Возвращает координаты и тип текущего сегмента контура в итерации.
int currentSegment(float[] coords)
Возвращает координаты и тип текущего сегмента контура в итерации.
double getFlatness()
Возвращает плоскостность этого итератора.
int getRecursionLimit()
Возвращает предел рекурсии этого итератора.
int getWindingRule()
Возвращает правило определения внутренней области контура.
boolean isDone()
Проверяет, завершена ли итерация.
void next()
Перемещает итератор к следующему сегменту контура в основном направлении обхода, пока в этом направлении остаются точки.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

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
Возвращает:
правило обхода исходного неаппроксимированного контура, по которому выполняется итерация.
См. также:
  • PathIterator.WIND_EVEN_ODD
  • PathIterator.WIND_NON_ZERO

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 — если в аппроксимированном контуре больше нет элементов для возврата.
См. также:
  • PathIterator.SEG_MOVETO
  • PathIterator.SEG_LINETO
  • PathIterator.SEG_CLOSE

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 — если в аппроксимированном контуре больше нет элементов для возврата.
См. также:
  • PathIterator.SEG_MOVETO
  • PathIterator.SEG_LINETO
  • PathIterator.SEG_CLOSE

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, способы обхода ограничений и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API