Spec-Zone.ru › OpenJDK 17

Класс Path2D.Float

java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Float
Все реализованные интерфейсы:
Shape, Serializable, Cloneable
Прямые известные подклассы:
GeneralPath
Включающий класс:
Path2D
public static class Path2D.Float extends Path2D implements Serializable
Класс Float определяет геометрическую траекторию с координатами, хранящимися в однобайтовом формате с плавающей точкой.
С тех пор:
1.6
См. также:
  • Сериализованная форма

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе java.awt.geom.Path2D

Path2D.Double, Path2D.Float

Краткое описание полей

Поля, объявленные в классе java.awt.geom.Path2D

WIND_EVEN_ODD, WIND_NON_ZERO

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

Конструктор Описание
Float()
Создает новый пустой объект с плавающей точкой Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
Float(int rule)
Создает новый пустой объект с плавающей точкой Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней части траектории.
Float(int rule, int initialCapacity)
Создает новый пустой объект с плавающей точкой Path2D с указанным правилом обхода и указанной начальной емкостью для хранения сегментов траектории.
Float(Shape s)
Создает новый объект с плавающей точкой Path2D из произвольного объекта Shape.
Float(Shape s, AffineTransform at)
Создает новый объект с плавающей точкой Path2D из произвольного объекта Shape, преобразованный объектом AffineTransform.

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

Модификатор и тип Метод Описание
final void append(PathIterator pi, boolean connect)
Добавляет геометрию указанного объекта PathIterator к траектории, возможно соединяя новую геометрию с существующими сегментами траектории отрезком прямой.
final Object clone()
Создает новый объект того же класса, что и этот объект.
final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
Добавляет криволинейный сегмент, определенный тремя новыми точками, в траекторию, рисуя кривую Безье, пересекающую как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье.
final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
Добавляет криволинейный сегмент, определенный тремя новыми точками, в траекторию, рисуя кривую Безье, пересекающую как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье.
final Rectangle2D getBounds2D()
Возвращает ограничивающую прямоугольник с высокой точностью и большей точностью для Shape по сравнению с методом getBounds.
final PathIterator getPathIterator(AffineTransform at)
Возвращает объект-итератор, который перебирает границу Shape и предоставляет доступ к геометрии контура Shape.
final void lineTo(double x, double y)
Добавляет точку в траекторию, рисуя прямую линию от текущих координат к новым указанным координатам, указанным в двойной точности.
final void lineTo(float x, float y)
Добавляет точку в траекторию, рисуя прямую линию от текущих координат к новым указанным координатам, указанным в формате с плавающей точкой.
final void moveTo(double x, double y)
Добавляет точку в траекторию, перемещаясь в указанные координаты, указанные в двойной точности.
final void moveTo(float x, float y)
Добавляет точку в траекторию, перемещаясь в указанные координаты, указанные в формате с плавающей точкой.
final void quadTo(double x1, double y1, double x2, double y2)
Добавляет криволинейный сегмент, определенный двумя новыми точками, в траекторию, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве квадратичной параметрической контрольной точки.
final void quadTo(float x1, float y1, float x2, float y2)
Добавляет криволинейный сегмент, определенный двумя новыми точками, в траекторию, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве квадратичной параметрической контрольной точки.
final void transform(AffineTransform at)
Преобразует геометрию этой траектории с помощью указанного AffineTransform.
final void trimToSize()
Урезает емкость экземпляра Path2D до текущего размера.

Методы, объявленные в классе java.awt.geom.Path2D

append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRule

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

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

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

Float

public Float()
Создаёт новый пустой объект с плавающей запятой одинарной точности Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
Since:
1.6

Float

public Float(int rule)
Создаёт новый пустой объект с плавающей запятой одинарной точности Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней части пути.
Parameters:
rule - правило обхода
Throws:
IllegalArgumentException - если rule не является ни Path2D.WIND_EVEN_ODD, ни Path2D.WIND_NON_ZERO
Since:
1.6
See Also:
  • Path2D.WIND_EVEN_ODD
  • Path2D.WIND_NON_ZERO

Float

public Float(int rule, int initialCapacity)
Создаёт новый пустой объект с плавающей запятой одинарной точности Path2D с указанным правилом обхода и заданной начальной ёмкостью для хранения сегментов пути. Это значение является начальным приближением количества сегментов пути, которые будут добавлены в путь, но хранилище расширяется по мере необходимости для хранения добавленных сегментов пути.
Parameters:
rule - правило обхода
initialCapacity - оценка количества сегментов пути
Throws:
IllegalArgumentException - если rule не является ни Path2D.WIND_EVEN_ODD, ни Path2D.WIND_NON_ZERO
NegativeArraySizeException - если initialCapacity отрицательное
Since:
1.6
See Also:
  • Path2D.WIND_EVEN_ODD
  • Path2D.WIND_NON_ZERO

Float

public Float(Shape s)
Создаёт новый объект с плавающей запятой одинарной точности Path2D из произвольного объекта Shape. Вся начальная геометрия и правило обхода для этого пути взяты из указанного объекта Shape.
Parameters:
s - указанный объект Shape
Throws:
NullPointerException - если s равно null
Since:
1.6

Float

public Float(Shape s, AffineTransform at)
Создаёт новый объект с плавающей запятой одинарной точности Path2D из произвольного объекта Shape, преобразованного с помощью объекта AffineTransform. Вся начальная геометрия и правило обхода для этого пути взяты из указанного объекта Shape и преобразуются с помощью указанного объекта AffineTransform.
Parameters:
s - указанный объект Shape
at - указанный объект AffineTransform
Throws:
NullPointerException - если s равно null
Since:
1.6

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

trimToSize

public final void trimToSize()
Описание скопировано из класса: Path2D
Уменьшает ёмкость экземпляра Path2D до его текущего размера. Приложение может использовать эту операцию для минимизации хранения пути.
Specified by:
trimToSize в классе Path2D

moveTo

public final void moveTo(double x, double y)
Добавляет точку в путь, перемещаясь к указанным координатам с двойной точностью.
Specified by:
moveTo в классе Path2D
Parameters:
x - указанная координата X
y - указанная координата Y
Since:
1.6

moveTo

public final void moveTo(float x, float y)
Добавляет точку в путь, перемещаясь к указанным координатам с плавающей запятой одинарной точности.

Этот метод предоставляет вариант одинарной точности для метода двойной точности moveTo() в базовом классе Path2D.

Parameters:
x - указанная координата X
y - указанная координата Y
Since:
1.6
See Also:
  • Path2D.moveTo(double, double)

lineTo

public final void lineTo(double x, double y)
Добавляет точку в путь, проводя прямую линию от текущих координат до новых указанных координат с двойной точностью.
Specified by:
lineTo в классе Path2D
Parameters:
x - указанная координата X
y - указанная координата Y
Since:
1.6

lineTo

public final void lineTo(float x, float y)
Добавляет точку в путь, проводя прямую линию от текущих координат до новых указанных координат с плавающей запятой одинарной точности.

Этот метод предоставляет вариант одинарной точности для метода двойной точности lineTo() в базовом классе Path2D.

Parameters:
x - указанная координата X
y - указанная координата Y
Since:
1.6
See Also:
  • Path2D.lineTo(double, double)

quadTo

public final void quadTo(double x1, double y1, double x2, double y2)
Добавляет криволинейный сегмент, определяемый двумя новыми точками, в путь, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве параметрической контрольной точки квадратичной кривой. Все координаты заданы с двойной точностью.
Specified by:
quadTo в классе Path2D
Parameters:
x1 - координата X контрольной точки квадратичной кривой
y1 - координата Y контрольной точки квадратичной кривой
x2 - координата X конечной точки
y2 - координата Y конечной точки
Since:
1.6

quadTo

public final void quadTo(float x1, float y1, float x2, float y2)
Добавляет криволинейный сегмент, определяемый двумя новыми точками, в путь, рисуя квадратичную кривую, которая пересекает как текущие координаты, так и указанные координаты (x2,y2), используя указанную точку (x1,y1) в качестве параметрической контрольной точки квадратичной кривой. Все координаты заданы с плавающей запятой одинарной точности.

Этот метод предоставляет вариант одинарной точности для метода двойной точности quadTo() в базовом классе Path2D.

Parameters:
x1 - координата X контрольной точки квадратичной кривой
y1 - координата Y контрольной точки квадратичной кривой
x2 - координата X конечной точки
y2 - координата Y конечной точки
Since:
1.6
See Also:
  • Path2D.quadTo(double, double, double, double)

curveTo

public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
Добавляет криволинейный сегмент, определяемый тремя новыми точками, в путь, рисуя кривую Безье, которая пересекает как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. Все координаты заданы с двойной точностью.
Specified by:
curveTo в классе Path2D
Parameters:
x1 - координата X первой контрольной точки Безье
y1 - координата Y первой контрольной точки Безье
x2 - координата X второй контрольной точки Безье
y2 - координата Y второй контрольной точки Безье
x3 - координата X конечной точки
y3 - координата Y конечной точки
Since:
1.6

curveTo

public final void curveTo(float x1, float y1, float x2, float y2, float x3, float y3)
Добавляет криволинейный сегмент, определённый тремя новыми точками, в путь, нарисовав кривую Безье, которая пересекает как текущие координаты, так и указанные координаты (x3,y3), используя указанные точки (x1,y1) и (x2,y2) в качестве контрольных точек Безье. Все координаты указаны с плавающей точкой.

Этот метод предоставляет вариант с одинарной точностью для метода с двойной точностью curveTo() в базовом классе Path2D.

Parameters:
x1 - координата X первой контрольной точки Безье
y1 - координата Y первой контрольной точки Безье
x2 - координата X второй контрольной точки Безье
y2 - координата Y второй контрольной точки Безье
x3 - координата X конечной точки
y3 - координата Y конечной точки
Since:
1.6
See Also:
  • Path2D.curveTo(double, double, double, double, double, double)

append

public final void append(PathIterator pi, boolean connect)
Добавляет геометрию указанного объекта PathIterator в путь, возможно, соединяя новую геометрию с существующими сегментами пути с помощью отрезка прямой. Если параметр connect равен true и путь не пуст, то любой начальный moveTo в геометрии добавленного Shape преобразуется в lineTo сегмент. Если координаты назначения такого соединяющего lineTo сегмента совпадают с координатами окончания текущей подтраектории, то сегмент опускается как излишний. Правило обхода указанного Shape игнорируется, и добавленная геометрия управляется правилом обхода, указанным для этого пути.
Specified by:
append в классе Path2D
Parameters:
pi - объект PathIterator, чья геометрия добавляется в этот путь
connect - булево значение, управляющее преобразованием начального moveTo сегмента в lineTo сегмент для подключения новой геометрии к существующему пути
Since:
1.6

transform

public final void transform(AffineTransform at)
Преобразует геометрию этого пути с использованием указанного AffineTransform. Геометрия преобразуется на месте, что приводит к постоянному изменению границы, определённой этим объектом.
Specified by:
transform в классе Path2D
Parameters:
at - AffineTransform для преобразования области
Since:
1.6

getBounds2D

public final Rectangle2D getBounds2D()
Возвращает прямоугольник, охватывающий Shape с высокой точностью и большей точностью, чем метод getBounds. Обратите внимание, что нет гарантии, что возвращаемый Rectangle2D является самым маленьким охватывающим прямоугольником Shape, только то, что Shape полностью лежит внутри указанного Rectangle2D. Возвращаемый этим методом прямоугольник обычно уже, чем тот, который возвращается методом getBounds, и никогда не терпит неудачу из-за проблем с переполнением, так как значение возврата может быть экземпляром Rectangle2D, который использует значения двойной точности для хранения размеров.

Обратите внимание, что определение принадлежности может привести к ситуациям, когда точки на определяющей линии shape могут не считаться содержащимися в возвращённом bounds объекте, но только в тех случаях, когда эти точки также не считаются содержащимися в исходном shape.

Если point находится внутри shape в соответствии с методом contains(point), то он должен быть внутри возвращённого Rectangle2D прямоугольника в соответствии с методом contains(point) bounds. Конкретно:

shape.contains(p) требует bounds.contains(p)

Если point не находится внутри shape, то он всё ещё может быть содержащимся в bounds объекте:

bounds.contains(p) не подразумевает shape.contains(p)

Specified by:
getBounds2D в интерфейсе Shape
Returns:
экземпляр Rectangle2D, который является прямоугольником, охватывающим Shape.
Since:
1.6
See Also:
  • Shape.getBounds()

getPathIterator

public final PathIterator getPathIterator(AffineTransform at)
Возвращает объект итератора, который перебирает по границе Shape и предоставляет доступ к геометрии контура Shape. Если указан необязательный AffineTransform, координаты, возвращённые в итерации, преобразуются соответствующим образом.

Каждый вызов этого метода возвращает новый объект PathIterator, который перебирает геометрию Shape объекта независимо от других объектов PathIterator , используемых одновременно.

Рекомендуется, но не гарантируется, что объекты, реализующие интерфейс Shape, изолируют итерации, которые в процессе, от любых изменений, которые могут произойти в геометрии исходного объекта во время таких итераций.

Итератор для этого класса не безопасен для многопоточности, что означает, что класс Path2D не гарантирует, что изменения в геометрии этого объекта Path2D не повлияют на уже выполняющиеся итерации по этой геометрии.

Specified by:
getPathIterator в интерфейсе Shape
Parameters:
at - необязательный AffineTransform, который будет применяться к координатам по мере их возвращения в итерации, или null, если требуются не преобразованные координаты
Returns:
новый объект PathIterator, который независимо перебирает геометрию Shape.
Since:
1.6

clone

public final Object clone()
Создаёт новый объект того же класса, что и этот объект.
Specified by:
clone в классе Path2D
Returns:
клонированный экземпляр.
Throws:
OutOfMemoryError - если памяти недостаточно.
Since:
1.6
See Also:
  • Cloneable

© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/geom/Path2D.Float.html

Spec-Zone.ru

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