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

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

Double​(int rule)

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

Double​(int rule, int initialCapacity)

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

Double​(Shape s)

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

Double​(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) в качестве контрольных точек Безье.

Rectangle2D getBounds2D()

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

PathIterator getPathIterator​(AffineTransform at)

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

void lineTo​(double x, double y)

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

void moveTo​(double x, double y)

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

void quadTo​(double x1, double y1, double x2, double 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

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

Double

public Double()

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

С:
1.6

Double

public Double(int rule)

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

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

Double

public Double(int rule,
              int initialCapacity)

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

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

Double

public Double(Shape s)

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

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

Double

public Double(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

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)

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

getPathIterator

public final PathIterator getPathIterator(AffineTransform at)

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

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

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

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

Определено:
getPathIterator в интерфейсе Shape
Параметры:
at - объект AffineTransform
Возвращает:
новый PathIterator, который проходит по границе этого Shape и предоставляет доступ к геометрии контура этого Shape
С:
1.6

clone

public final Object clone()

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

Определено:
clone в классе Path2D
Возвращает:
клонированный экземпляр.
Исключения:
OutOfMemoryError - если недостаточно памяти.
С:
1.6
См. также:
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.Double.html

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