Spec-Zone.ru › OpenJDK 8

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

Создаёт новый пустой объект с двойной точностью 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

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

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

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

Double

public Double()

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

Since:
1.6

Double

public Double(int rule)

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

Parameters:
rule - правило обхода
Since:
1.6
See Also:
Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO

Double

public Double(int rule,
              int initialCapacity)

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

Parameters:
rule - правило обхода
initialCapacity - оценка количества сегментов пути
Since:
1.6
See Also:
Path2D.WIND_EVEN_ODD, Path2D.WIND_NON_ZERO

Double

public Double(Shape s)

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

Parameters:
s - указанный объект Shape
Since:
1.6

Double

public Double(Shape s,
              AffineTransform at)

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

Parameters:
s - указанный объект Shape
at - указанный объект AffineTransform
Since:
1.6

Методы

moveTo

public final void moveTo(double x,
                         double y)

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

Specified by:
moveTo в классе Path2D
Parameters:
x - указанная координата X
y - указанная координата Y
Since:
1.6

lineTo

public final void lineTo(double x,
                         double y)

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

Specified by:
lineTo в классе Path2D
Parameters:
x - указанная координата X
y - указанная координата Y
Since:
1.6

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

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

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
Returns:
новый итератор PathIterator, который итерирует по границе этого объекта Shape и предоставляет доступ к геометрии контура этого объекта Shape
Since:
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.

Spec-Zone.ru

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