Класс 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.

Методы

Модификатор и тип Метод Описание
void append​(PathIterator pi, boolean connect)

Добавляет геометрию указанного объекта PathIterator к траектории, возможно, соединяя новую геометрию с существующими сегментами траектории отрезком прямой.

Object clone()

Создаёт новый объект того же класса, что и этот объект.

void curveTo​(double x1, double y1, double x2, double y2, double x3, double y3)

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

void curveTo​(float x1, float y1, float x2, float y2, float x3, float y3)

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

Rectangle2D getBounds2D()

Возвращает высокоточную и более точную ограничивающую рамку для Shape, чем метод getBounds.

PathIterator getPathIterator​(AffineTransform at)

Возвращает объект-итератор, который итерирует по границе Shape и предоставляет доступ к геометрии контура Shape.

void lineTo​(double x, double y)

Добавляет точку к траектории, рисуя прямую линию от текущих координат до новых указанных координат, заданных с двойной точностью.

void lineTo​(float x, float y)

Добавляет точку к траектории, рисуя прямую линию от текущих координат до новых указанных координат, заданных с плавающей точкой.

void moveTo​(double x, double y)

Добавляет точку к траектории, перемещаясь в указанные координаты, заданные с двойной точностью.

void moveTo​(float x, float y)

Добавляет точку к траектории, перемещаясь в указанные координаты, заданные с плавающей точкой.

void quadTo​(double x1, double y1, double x2, double y2)

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

void quadTo​(float x1, float y1, float x2, float y2)

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

void transform​(AffineTransform at)

Преобразует геометрию этой траектории с помощью указанного AffineTransform.

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

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

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

Конструкторы

Float

public Float()

Создаёт новый пустой объект одинарной точности Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.

С тех пор:
1.6

Float

public Float(int rule)

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

Параметры:
rule - правило обхода
С тех пор:
1.6
См. также:
Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO

Float

public Float(int rule,
             int initialCapacity)

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

Параметры:
rule - правило обхода
initialCapacity - оценка количества сегментов траектории в траектории
С тех пор:
1.6
См. также:
Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO

Float

public Float(Shape s)

Создаёт новый объект одинарной точности Path2D из произвольного объекта Shape. Вся начальная геометрия и правило обхода для этой траектории взяты из указанного объекта Shape.

Параметры:
s - указанный объект Shape
С тех пор:
1.6

Float

public Float(Shape s,
             AffineTransform at)

Создаёт новый объект одинарной точности Path2D из произвольного объекта Shape, преобразованного с помощью объекта AffineTransform. Вся начальная геометрия и правило обхода для этой траектории взяты из указанного объекта Shape и преобразуются с помощью указанного объекта AffineTransform.

Параметры:
s - указанный объект Shape
at - указанный объект AffineTransform
С тех пор:
1.6

Методы

moveTo

public final void moveTo(double x,
                         double y)

Добавляет точку в траекторию, перемещаясь в указанные координаты с двойной точностью.

Указано:
moveTo в классе Path2D
Параметры:
x - указанная координата X
y - указанная координата Y
С версии:
1.6

moveTo

public final void moveTo(float x,
                         float y)

Добавляет точку в траекторию, перемещаясь в указанные координаты с плавающей точкой.

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

Параметры:
x - указанная координата X
y - указанная координата Y
С версии:
1.6
См. также:
Path2D.moveTo(double, double)

lineTo

public final void lineTo(double x,
                         double y)

Добавляет точку в траекторию, проводя прямую линию от текущих координат до новых указанных координат с двойной точностью.

Указано:
lineTo в классе Path2D
Параметры:
x - указанная координата X
y - указанная координата Y
С версии:
1.6

lineTo

public final void lineTo(float x,
                         float y)

Добавляет точку в траекторию, проводя прямую линию от текущих координат до новых указанных координат с плавающей точкой.

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

Параметры:
x - указанная координата X
y - указанная координата Y
С версии:
1.6
См. также:
Path2D.lineTo(double, double)

quadTo

public final void quadTo(double x1,
                         double y1,
                         double x2,
                         double y2)

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

Указано:
quadTo в классе Path2D
Параметры:
x1 - координата X квадратичной контрольной точки
y1 - координата Y квадратичной контрольной точки
x2 - координата X конечной точки
y2 - координата Y конечной точки
С версии:
1.6

quadTo

public final void quadTo(float x1,
                         float y1,
                         float x2,
                         float y2)

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

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

Параметры:
x1 - координата X квадратичной контрольной точки
y1 - координата Y квадратичной контрольной точки
x2 - координата X конечной точки
y2 - координата Y конечной точки
С версии:
1.6
См. также:
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) в качестве контрольных точек Безье. Все координаты указаны с двойной точностью.

Указано:
curveTo в классе Path2D
Параметры:
x1 - координата X первой контрольной точки Безье
y1 - координата Y первой контрольной точки Безье
x2 - координата X второй контрольной точки Безье
y2 - координата Y второй контрольной точки Безье
x3 - координата X конечной точки
y3 - координата Y конечной точки
С версии:
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.

Параметры:
x1 - координата X первой контрольной точки Безье
y1 - координата Y первой контрольной точки Безье
x2 - координата X второй контрольной точки Безье
y2 - координата Y второй контрольной точки Безье
x3 - координата X конечной точки
y3 - координата Y конечной точки
С версии:
1.6
См. также:
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 игнорируется, и добавляемая геометрия управляется правилом обхода, указанным для этой траектории.

Указано:
append в классе Path2D
Параметры:
pi - PathIterator, чья геометрия добавляется в эту траекторию
connect - логическое значение для управления тем, преобразовывать ли начальный moveTo сегмент в lineTo сегмент для соединения новой геометрии с существующей траекторией
С версии:
1.6

transform

public final void transform(AffineTransform at)

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

Указано:
transform в классе Path2D
Параметры:
at - AffineTransform, используемое для преобразования области
С версии:
1.6

getBounds2D

public final Rectangle2D getBounds2D()

Возвращает прямоугольник с высокой точностью и большей точностью, чем метод 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)

Указано:
getBounds2D в интерфейсе Shape
Возвращает:
экземпляр Rectangle2D, являющийся высокоточной ограничивающей рамкой Shape.
С версии:
1.6
См. также:
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, 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/geom/Path2D.Float.html

Spec-Zone .ru
спецификации, руководства, описания, API