Класс Arc2D

Все реализованные интерфейсы:
Shape, Cloneable
Прямые известные подклассы:
Arc2D.Double, Arc2D.Float
public abstract class Arc2D
extends RectangularShape

Arc2D — это абстрактный базовый класс для всех объектов, хранящих 2D дугу, определяемую прямоугольником, начальным углом, угловым объёмом (длиной дуги) и типом замкнутости (OPEN, CHORD, или PIE).

Дуга является частичным сегментом полной эллипса, вписанного в прямоугольник рамки родительского элемента RectangularShape. Углы задаются относительно прямоугольника рамки, не являющегося квадратом, таким образом, что 45 градусов всегда попадают на линию от центра эллипса до правого верхнего угла прямоугольника рамки. В результате, если прямоугольник рамки заметно длиннее по одной оси, чем по другой, углы начала и конца сегмента дуги будут смещены дальше по более длинной оси рамки.

Фактическое представление координат в памяти оставляется подклассу.

С:
1.2

Вложенные классы

Модификатор и тип Класс Описание
static class  Arc2D.Double

Этот класс определяет дугу, заданную с точностью double.

static class  Arc2D.Float

Этот класс определяет дугу, заданную с точностью float.

Поля

Модификатор и тип Поле Описание
static int CHORD

Тип замкнутости для дуги, закрытой построением отрезка прямой от начала дуги до её конца.

static int OPEN

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

static int PIE

Тип замкнутости для дуги, закрытой отрезками прямых от начала дуги до центра полного эллипса и от этой точки до конца дуги.

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

Модификатор Конструктор Описание
protected Arc2D()

Это абстрактный класс, который нельзя создать напрямую.

protected Arc2D​(int type)

Это абстрактный класс, который нельзя создать напрямую.

Методы

Модификатор и тип Метод Описание
boolean contains​(double x, double y)

Определяет, находится ли указанная точка внутри границы дуги.

boolean contains​(double x, double y, double w, double h)

Определяет, целиком ли внутренняя часть дуги содержит указанный прямоугольник.

boolean contains​(Rectangle2D r)

Определяет, целиком ли внутренняя часть дуги содержит указанный прямоугольник.

boolean containsAngle​(double angle)

Определяет, находится ли указанный угол внутри углового диапазона дуги.

boolean equals​(Object obj)

Определяет, равен ли указанный Object этому Arc2D.

abstract double getAngleExtent()

Возвращает угловой объём дуги.

abstract double getAngleStart()

Возвращает начальный угол дуги.

int getArcType()

Возвращает тип замкнутости дуги: OPEN, CHORD или PIE.

Rectangle2D getBounds2D()

Возвращает высокоточную рамку прямоугольника дуги.

Point2D getEndPoint()

Возвращает конечную точку дуги.

PathIterator getPathIterator​(AffineTransform at)

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

Point2D getStartPoint()

Возвращает начальную точку дуги.

int hashCode()

Возвращает хэш-код для этой Arc2D.

boolean intersects​(double x, double y, double w, double h)

Определяет, пересекается ли внутренняя часть дуги с внутренней частью указанного прямоугольника.

protected abstract Rectangle2D makeBounds​(double x, double y, double w, double h)

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

abstract void setAngleExtent​(double angExt)

Устанавливает угловой объём этой дуги в указанное значение типа double.

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

Устанавливает начальный угол и угловой объём этой дуги, используя два набора координат.

void setAngles​(Point2D p1, Point2D p2)

Устанавливает начальный угол и угловой объём этой дуги, используя две точки.

abstract void setAngleStart​(double angSt)

Устанавливает начальный угол этой дуги в указанное значение типа double.

void setAngleStart​(Point2D p)

Устанавливает начальный угол этой дуги в угол, определяемый указанной точкой относительно центра этой дуги.

abstract void setArc​(double x, double y, double w, double h, double angSt, double angExt, int closure)

Устанавливает положение, размер, угловые объёмы и тип замкнутости этой дуги в указанные значения типа double.

void setArc​(Arc2D a)

Устанавливает эту дугу равной указанной дуге.

void setArc​(Point2D loc, Dimension2D size, double angSt, double angExt, int closure)

Устанавливает положение, размер, угловые объёмы и тип замкнутости этой дуги в указанные значения.

void setArc​(Rectangle2D rect, double angSt, double angExt, int closure)

Устанавливает положение, размер, угловые объёмы и тип замкнутости этой дуги в указанные значения.

void setArcByCenter​(double x, double y, double radius, double angSt, double angExt, int closure)

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

void setArcByTangent​(Point2D p1, Point2D p2, Point2D p3, double radius)

Устанавливает положение, границы и угловые объёмы этой дуги в указанное значение.

void setArcType​(int type)

Устанавливает тип замкнутости этой дуги в указанное значение: OPEN, CHORD, или PIE.

void setFrame​(double x, double y, double w, double h)

Устанавливает положение и размер прямоугольника рамки этой Shape в указанные прямоугольные значения.

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

clone, contains, getBounds, getCenterX, getCenterY, getFrame, getHeight, getMaxX, getMaxY, getMinX, getMinY, getPathIterator, getWidth, getX, getY, intersects, isEmpty, setFrame, setFrame, setFrameFromCenter, setFrameFromCenter, setFrameFromDiagonal, setFrameFromDiagonal

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

finalize, getClass, notify, notifyAll, toString, wait, wait, wait

Поля

OPEN

public static final int OPEN

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

С момента:
1.2
См. также:
Значения постоянных полей

CHORD

public static final int CHORD

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

С момента:
1.2
См. также:
Значения постоянных полей

PIE

public static final int PIE

Тип закрытия для дуги, закрытой путем рисования отрезков прямых от начала сегмента дуги до центра всего эллипса и от этой точки до конца сегмента дуги.

С момента:
1.2
См. также:
Значения постоянных полей

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

Arc2D

protected Arc2D()

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

Этот конструктор создает объект с типом закрытия по умолчанию OPEN. Он предоставляется только для обеспечения сериализации подклассов.

См. также:
Arc2D.Float, Arc2D.Double

Arc2D

protected Arc2D(int type)

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

Параметры:
type - Тип закрытия этой дуги: OPEN, CHORD или PIE.
С момента:
1.2
См. также:
Arc2D.Float, Arc2D.Double

Методы

getAngleStart

public abstract double getAngleStart()

Возвращает начальный угол дуги.

Возвращает:
Вещественное значение, представляющее начальный угол дуги в градусах.
С версии:
1.2
См. также:
setAngleStart(double)

getAngleExtent

public abstract double getAngleExtent()

Возвращает угловой размер дуги.

Возвращает:
Вещественное значение, представляющее угловой размер дуги в градусах.
С версии:
1.2
См. также:
setAngleExtent(double)

getArcType

public int getArcType()

Возвращает тип замыкания дуги: OPEN, CHORD или PIE.

Возвращает:
Один из целочисленных константных типов замыкания, определенных в этом классе.
С версии:
1.2
См. также:
setArcType(int)

getStartPoint

public Point2D getStartPoint()

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

Возвращает:
Объект Point2D, представляющий координаты x,y начальной точки дуги.
С версии:
1.2

getEndPoint

public Point2D getEndPoint()

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

Возвращает:
Объект Point2D, представляющий координаты x,y конечной точки дуги.
С версии:
1.2

setArc

public abstract void setArc(double x,
                            double y,
                            double w,
                            double h,
                            double angSt,
                            double angExt,
                            int closure)

Устанавливает расположение, размер, угловые размеры и тип замыкания этой дуги в указанные вещественные значения.

Параметры:
x - Координата X левого верхнего угла дуги.
y - Координата Y левого верхнего угла дуги.
w - Общая ширина полного эллипса, частью которого является эта дуга.
h - Общая высота полного эллипса, частью которого является эта дуга.
angSt - Начальный угол дуги в градусах.
angExt - Угловой размер дуги в градусах.
closure - Тип замыкания для дуги: OPEN, CHORD или PIE.
С версии:
1.2

setArc

public void setArc(Point2D loc,
                   Dimension2D size,
                   double angSt,
                   double angExt,
                   int closure)

Устанавливает расположение, размер, угловые размеры и тип замыкания этой дуги в указанные значения.

Параметры:
loc - Point2D, представляющий координаты левого верхнего угла дуги.
size - Dimension2D, представляющий ширину и высоту полного эллипса, частью которого является эта дуга.
angSt - Начальный угол дуги в градусах.
angExt - Угловой размер дуги в градусах.
closure - Тип замыкания для дуги: OPEN, CHORD или PIE.
С версии:
1.2

setArc

public void setArc(Rectangle2D rect,
                   double angSt,
                   double angExt,
                   int closure)

Устанавливает расположение, размер, угловые размеры и тип замыкания этой дуги в указанные значения.

Параметры:
rect - Ограничивающий прямоугольник, определяющий внешнюю границу полного эллипса, частью которого является эта дуга.
angSt - Начальный угол дуги в градусах.
angExt - Угловой размер дуги в градусах.
closure - Тип замыкания для дуги: OPEN, CHORD или PIE.
С версии:
1.2

setArc

public void setArc(Arc2D a)

Устанавливает эту дугу такой же, как указанная дуга.

Параметры:
a - Arc2D, используемый для установки значений дуги.
С версии:
1.2

setArcByCenter

public void setArcByCenter(double x,
                           double y,
                           double radius,
                           double angSt,
                           double angExt,
                           int closure)

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

Параметры:
x - Координата X центра дуги.
y - Координата Y центра дуги.
radius - Радиус дуги.
angSt - Начальный угол дуги в градусах.
angExt - Угловой размер дуги в градусах.
closure - Тип замыкания для дуги: OPEN, CHORD или PIE.
С версии:
1.2

setArcByTangent

public void setArcByTangent(Point2D p1,
                            Point2D p2,
                            Point2D p3,
                            double radius)

Устанавливает положение, границы и угловые размеры этой дуги в указанное значение. Начальный угол дуги является касательной к линии, заданной точками (p1, p2), конечный угол является касательной к линии, заданной точками (p2, p3), а дуга имеет указанный радиус.

Параметры:
p1 - Первая точка, определяющая дугу. Начальный угол дуги является касательной к линии, заданной точками (p1, p2).
p2 - Вторая точка, определяющая дугу. Начальный угол дуги является касательной к линии, заданной точками (p1, p2). Конечный угол дуги является касательной к линии, заданной точками (p2, p3).
p3 - Третья точка, определяющая дугу. Конечный угол дуги является касательной к линии, заданной точками (p2, p3).
radius - Радиус дуги.
С версии:
1.2

setAngleStart

public abstract void setAngleStart(double angSt)

Устанавливает начальный угол этой дуги в указанное вещественное значение.

Параметры:
angSt - Начальный угол дуги в градусах.
С версии:
1.2
См. также:
getAngleStart()

setAngleExtent

public abstract void setAngleExtent(double angExt)

Устанавливает угловой размер этой дуги в указанное вещественное значение.

Параметры:
angExt - Угловой размер дуги в градусах.
С версии:
1.2
См. также:
getAngleExtent()

setAngleStart

public void setAngleStart(Point2D p)

Устанавливает начальный угол этой дуги в угол, который заданная точка определяет относительно центра этой дуги. Угловой размер дуги останется прежним.

Параметры:
p - Point2D, определяющий начальный угол.
С версии:
1.2
См. также:
getAngleStart()

setAngles

public void setAngles(double x1,
                      double y1,
                      double x2,
                      double y2)

Устанавливает начальный угол и угловой размер этой дуги, используя два набора координат. Первый набор координат используется для определения угла начальной точки относительно центра дуги. Второй набор координат используется для определения угла конечной точки относительно центра дуги. Дуга всегда будет непустой и будет простираться против часовой стрелки от первой точки до второй точки.

Параметры:
x1 - Координата X начальной точки дуги.
y1 - Координата Y начальной точки дуги.
x2 - Координата X конечной точки дуги.
y2 - Координата Y конечной точки дуги.
С версии:
1.2

setAngles

public void setAngles(Point2D p1,
                      Point2D p2)

Устанавливает начальный угол и угловой размер этой дуги, используя две точки. Первая точка используется для определения угла начальной точки относительно центра дуги. Вторая точка используется для определения угла конечной точки относительно центра дуги. Дуга всегда будет непустой и будет простираться против часовой стрелки от первой точки до второй точки.

Параметры:
p1 - Point2D, определяющий начальную точку дуги.
p2 - Point2D, определяющий конечную точку дуги.
С версии:
1.2

setArcType

public void setArcType(int type)

Устанавливает тип замыкания этой дуги в указанное значение: OPEN, CHORD или PIE.

Параметры:
type - Целочисленная константа, представляющая тип замыкания этой дуги: OPEN, CHORD или PIE.
Исключения:
IllegalArgumentException - если type не равно 0, 1 или 2.
С версии:
1.2
См. также:
getArcType()

setFrame

public void setFrame(double x,
                     double y,
                     double w,
                     double h)

Устанавливает расположение и размер ограничивающего прямоугольника этого Shape в указанные прямоугольные значения. Обратите внимание, что дуга частично вписывается в ограничивающий прямоугольник этого RectangularShape.

Указано:
setFrame в классе RectangularShape
Параметры:
x - координата X левого верхнего угла заданной прямоугольной фигуры
y - координата Y левого верхнего угла заданной прямоугольной фигуры
w - ширина заданной прямоугольной фигуры
h - высота заданной прямоугольной фигуры
С момента:
1.2
См. также:
RectangularShape.getFrame()

getBounds2D

public Rectangle2D getBounds2D()

Возвращает прямоугольник обрамления дуги с высокой точностью. Прямоугольник обрамления содержит только ту часть этой Arc2D которая находится между начальным и конечным углами и включает сектор, если у этой Arc2D тип замкнутости PIE.

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

Возвращает:
объект Rectangle2D представляющий прямоугольник обрамления дуги.
С момента:
1.2
См. также:
Shape.getBounds()

makeBounds

protected abstract Rectangle2D makeBounds(double x,
                                          double y,
                                          double w,
                                          double h)

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

Параметры:
x - Координата X левого верхнего угла прямоугольника обрамления.
y - Координата Y левого верхнего угла прямоугольника обрамления.
w - Ширина прямоугольника обрамления.
h - Высота прямоугольника обрамления.
Возвращает:
объект Rectangle2D представляющий прямоугольник обрамления этой дуги.
С момента:
1.2

containsAngle

public boolean containsAngle(double angle)

Определяет, находится ли заданный угол в пределах угловых границ дуги.

Параметры:
angle - Угол для проверки.
Возвращает:
true если дуга содержит угол, false если дуга не содержит угол.
С момента:
1.2

contains

public boolean contains(double x,
                        double y)

Определяет, находится ли заданная точка внутри границы дуги.

Параметры:
x - Координата X точки для проверки.
y - Координата Y точки для проверки.
Возвращает:
true если точка находится внутри границ дуги, false если точка находится за пределами границ дуги.
С момента:
1.2

intersects

public boolean intersects(double x,
                          double y,
                          double w,
                          double h)

Определяет, пересекается ли внутренняя область дуги с внутренней областью заданного прямоугольника.

Параметры:
x - Координата X левого верхнего угла прямоугольника.
y - Координата Y левого верхнего угла прямоугольника.
w - Ширина прямоугольника.
h - Высота прямоугольника.
Возвращает:
true если дуга пересекается с прямоугольником, false если дуга не пересекается с прямоугольником.
С момента:
1.2
См. также:
Area

contains

public boolean contains(double x,
                        double y,
                        double w,
                        double h)

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

Параметры:
x - Координата X левого верхнего угла прямоугольника.
y - Координата Y левого верхнего угла прямоугольника.
w - Ширина прямоугольника.
h - Высота прямоугольника.
Возвращает:
true если дуга содержит прямоугольник, false если дуга не содержит прямоугольник.
С момента:
1.2
См. также:
Area, Shape.intersects(double, double, double, double)

contains

public boolean contains(Rectangle2D r)

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

Указано:
contains в интерфейсе Shape
Переопределяет:
contains в классе RectangularShape
Параметры:
r - Прямоугольник для проверки.
Возвращает:
true если дуга содержит прямоугольник, false если дуга не содержит прямоугольник.
С момента:
1.2
См. также:
Shape.contains(double, double, double, double)

getPathIterator

public PathIterator getPathIterator(AffineTransform at)

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

Параметры:
at - необязательное AffineTransform для применения к координатам, возвращаемым в итерации, или null, если требуются не преобразованные координаты.
Возвращает:
Итератор PathIterator, определяющий границу дуги.
С момента:
1.2

hashCode

public int hashCode()

Возвращает хэш-код для этой Arc2D.

Переопределяет:
hashCode в классе Object
Возвращает:
хэш-код для этой Arc2D.
С момента:
1.6
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)

Определяет, равны ли указанный объект Object и эта Arc2D. Указанный объект Object равен этой Arc2D если это экземпляр Arc2D и если его расположение, размер, угловые пределы и тип совпадают с этой Arc2D.

Переопределяет:
equals в классе Object
Параметры:
obj - объект Object для сравнения с этой Arc2D.
Возвращает:
true если obj является экземпляром Arc2D и имеет одинаковые значения; false в противном случае.
С момента:
1.6
См. также:
Object.hashCode(), HashMap

© 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/Arc2D.html

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