Spec-Zone.ru › OpenJDK 21

Класс 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(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()
Перемещает итератор к следующему сегменту пути вперёд вдоль основного направления обхода, пока есть больше точек в этом направлении.

Методы, объявленные в классе java.lang.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

© 1993, 2023, 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/21/docs/api/java.desktop/java/awt/geom/FlatteningPathIterator.html

Spec-Zone.ru

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