Spec-Zone.ru › OpenJDK 17

Класс Path2D.Double

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

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

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

Path2D.Double, Path2D.Float

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

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

WIND_EVEN_ODD, WIND_NON_ZERO

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

Конструктор Описание
Double()
Создаёт новый пустой объект double precision Path2D с правилом обхода по умолчанию Path2D.WIND_NON_ZERO.
Double(int rule)
Создаёт новый пустой объект double precision Path2D с указанным правилом обхода для управления операциями, требующими определения внутренней части траектории.
Double(int rule, int initialCapacity)
Создаёт новый пустой объект double precision Path2D с указанным правилом обхода и указанной начальной ёмкостью для хранения отрезков траектории.
Double(Shape s)
Создаёт новый объект double precision Path2D из произвольного объекта Shape.
Double(Shape s, AffineTransform at)
Создаёт новый объект double precision 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 Rectangle2D getBounds2D()
Возвращает прямоугольник обрамления с большей точностью и точностью траектории Shape, чем метод getBounds.
final PathIterator getPathIterator(AffineTransform at)
Возвращает объект итератора, который перебирает границу Shape и предоставляет доступ к геометрии контура Shape.
final void lineTo(double x, double y)
Добавляет точку в траекторию, нарисовав прямую линию от текущих координат до новых указанных координат, заданных с двойной точностью.
final void moveTo(double x, double y)
Добавляет точку в траекторию, переместив указанные координаты, заданные с двойной точностью.
final void quadTo(double x1, double y1, double x2, double 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

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

Double

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

Double

public Double(int rule)
Создаёт новый пустой объект с двойной точностью Path2D с указанным правилом обхода, для контроля операций, требующих определения внутренней части пути.
Параметры:
rule - правило обхода
Исключения:
IllegalArgumentException - если rule не равно Path2D.WIND_EVEN_ODD или Path2D.WIND_NON_ZERO
С момента:
1.6
См. также:
  • Path2D.WIND_EVEN_ODD
  • Path2D.WIND_NON_ZERO

Double

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

Double

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

Double

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

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

trimToSize

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

moveTo

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

lineTo

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

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

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

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()
Возвращает прямоугольник обрамления 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
Returns:
новый итератор PathIterator, который итерирует по границе этого Shape и предоставляет доступ к геометрии контура этого 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.Double.html

Spec-Zone.ru

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