Spec-Zone.ru › OpenJDK 8

Класс 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-java.awt.geom.PathIterator-double-

public FlatteningPathIterator(PathIterator src,
                              double flatness)

Создаёт новый объект FlatteningPathIterator, который уплощает путь при его итерации. Итератор не разбивает ни одну кривую, считанную из исходного итератора, более чем на 10 уровней разбиения, что даёт максимум 1024 линейных сегмента на кривую.

Параметры:
src - исходный не уплощённый путь, по которому выполняется итерация
flatness - максимальное допустимое расстояние между контрольными точками и уплощённой кривой

FlatteningPathIterator-java.awt.geom.PathIterator-double-int-

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-float:A-

public int currentSegment(float[] coords)

Возвращает координаты и тип текущего сегмента пути в итерации. Значение возврата — тип сегмента пути: SEG_MOVETO, SEG_LINETO или SEG_CLOSE. Массив float длиной 6 должен быть передан и может использоваться для хранения координат точки(точек). Каждая точка хранится как пара координат x,y типа float. Типы SEG_MOVETO и SEG_LINETO возвращают одну точку, а SEG_CLOSE не возвращает никаких точек.

Определено в:
currentSegment в интерфейсе PathIterator
Параметры:
coords - массив, который хранит данные, возвращаемые этим методом
Возвращает:
тип сегмента пути текущего сегмента пути.
Исключения:
NoSuchElementException - если больше нет элементов в пути уплощения, которые должны быть возвращены.
См. также:
PathIterator.SEG_MOVETO, PathIterator.SEG_LINETO, PathIterator.SEG_CLOSE

currentSegment-double:A-

public int currentSegment(double[] coords)

Возвращает координаты и тип текущего сегмента пути в итерации. Значение возврата — тип сегмента пути: SEG_MOVETO, SEG_LINETO или SEG_CLOSE. Массив double длиной 6 должен быть передан и может использоваться для хранения координат точки(точек). Каждая точка хранится как пара координат x,y типа double. Типы SEG_MOVETO и SEG_LINETO возвращают одну точку, а SEG_CLOSE не возвращает никаких точек.

Определено в:
currentSegment в интерфейсе PathIterator
Параметры:
coords - массив, который хранит данные, возвращаемые этим методом
Возвращает:
тип сегмента пути текущего сегмента пути.
Исключения:
NoSuchElementException - если больше нет элементов в пути уплощения, которые должны быть возвращены.
См. также:
PathIterator.SEG_MOVETO, PathIterator.SEG_LINETO, PathIterator.SEG_CLOSE

© 1993, 2020, 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.

Spec-Zone.ru

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