Класс Line2D

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

Этот Line2D представляет отрезок прямой в (x,y) системе координат.

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

С:
1.2

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

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

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

static class  Line2D.Float

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

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

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

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

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

Модификатор и тип Метод Описание
Object clone()

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

boolean contains​(double x, double y)

Проверяет, находится ли заданная координата внутри границы этого Line2D.

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

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

boolean contains​(Point2D p)

Проверяет, находится ли заданный Point2D внутри границы этого Line2D.

boolean contains​(Rectangle2D r)

Проверяет, полностью ли внутренность этого Line2D содержит заданный Rectangle2D.

Rectangle getBounds()

Возвращает целочисленный Rectangle, который полностью охватывает Shape.

abstract Point2D getP1()

Возвращает начальную Point2D этого Line2D.

abstract Point2D getP2()

Возвращает конечную Point2D этого Line2D.

PathIterator getPathIterator​(AffineTransform at)

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

PathIterator getPathIterator​(AffineTransform at, double flatness)

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

abstract double getX1()

Возвращает X-координату начальной точки с двойной точностью.

abstract double getX2()

Возвращает X-координату конечной точки с двойной точностью.

abstract double getY1()

Возвращает Y-координату начальной точки с двойной точностью.

abstract double getY2()

Возвращает Y-координату конечной точки с двойной точностью.

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

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

boolean intersects​(Rectangle2D r)

Проверяет, пересекается ли внутренность Shape с внутренностью заданного Rectangle2D.

boolean intersectsLine​(double x1, double y1, double x2, double y2)

Проверяет, пересекается ли отрезок прямой от (x1,y1) до (x2,y2) с этим отрезком прямой.

boolean intersectsLine​(Line2D l)

Проверяет, пересекается ли заданный отрезок прямой с этим отрезком прямой.

static boolean linesIntersect​(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)

Проверяет, пересекается ли отрезок прямой от (x1,y1) до (x2,y2) с отрезком прямой от (x3,y3) до (x4,y4).

double ptLineDist​(double px, double py)

Возвращает расстояние от точки до этой прямой.

static double ptLineDist​(double x1, double y1, double x2, double y2, double px, double py)

Возвращает расстояние от точки до прямой.

double ptLineDist​(Point2D pt)

Возвращает расстояние от Point2D до этой прямой.

double ptLineDistSq​(double px, double py)

Возвращает квадрат расстояния от точки до этой прямой.

static double ptLineDistSq​(double x1, double y1, double x2, double y2, double px, double py)

Возвращает квадрат расстояния от точки до прямой.

double ptLineDistSq​(Point2D pt)

Возвращает квадрат расстояния от заданной Point2D до этой прямой.

double ptSegDist​(double px, double py)

Возвращает расстояние от точки до этого отрезка прямой.

static double ptSegDist​(double x1, double y1, double x2, double y2, double px, double py)

Возвращает расстояние от точки до отрезка прямой.

double ptSegDist​(Point2D pt)

Возвращает расстояние от Point2D до этого отрезка прямой.

double ptSegDistSq​(double px, double py)

Возвращает квадрат расстояния от точки до этого отрезка прямой.

static double ptSegDistSq​(double x1, double y1, double x2, double y2, double px, double py)

Возвращает квадрат расстояния от точки до отрезка прямой.

double ptSegDistSq​(Point2D pt)

Возвращает квадрат расстояния от Point2D до этого отрезка прямой.

int relativeCCW​(double px, double py)

Возвращает индикатор того, где заданная точка (px,py) расположена по отношению к этому отрезку прямой.

static int relativeCCW​(double x1, double y1, double x2, double y2, double px, double py)

Возвращает индикатор того, где заданная точка (px,py) расположена по отношению к отрезку прямой от (x1,y1) до (x2,y2).

int relativeCCW​(Point2D p)

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

abstract void setLine​(double x1, double y1, double x2, double y2)

Устанавливает положение конечных точек этого Line2D до указанных координат с двойной точностью.

void setLine​(Line2D l)

Устанавливает положение конечных точек этого Line2D так же, как и конечные точки указанного Line2D.

void setLine​(Point2D p1, Point2D p2)

Устанавливает положение конечных точек этого Line2D до указанных Point2D координат.

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

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

Методы, объявленные в интерфейсе java.awt.Shape

getBounds2D

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

Line2D

protected Line2D()

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

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

Методы

getX1

public abstract double getX1()

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

Возвращает:
координату X начальной точки этого Line2D объекта.
С:
1.2

getY1

public abstract double getY1()

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

Возвращает:
координату Y начальной точки этого Line2D объекта.
С:
1.2

getP1

public abstract Point2D getP1()

Возвращает начальную Point2D этого Line2D.

Возвращает:
начальную Point2D этого Line2D.
С:
1.2

getX2

public abstract double getX2()

Возвращает координату X конечной точки с двойной точностью.

Возвращает:
координату X конечной точки этого Line2D объекта.
С:
1.2

getY2

public abstract double getY2()

Возвращает координату Y конечной точки с двойной точностью.

Возвращает:
координату Y конечной точки этого Line2D объекта.
С:
1.2

getP2

public abstract Point2D getP2()

Возвращает конечную Point2D этого Line2D.

Возвращает:
конечную Point2D этого Line2D.
С:
1.2

setLine

public abstract void setLine(double x1,
                             double y1,
                             double x2,
                             double y2)

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

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

setLine

public void setLine(Point2D p1,
                    Point2D p2)

Устанавливает положение конечных точек этого Line2D в соответствии с указанными координатами Point2D.

Параметры:
p1 - начальная Point2D отрезка
p2 - конечная Point2D отрезка
С:
1.2

setLine

public void setLine(Line2D l)

Устанавливает положение конечных точек этого Line2D в соответствии с конечными точками указанного Line2D.

Параметры:
l - указанный Line2D
С:
1.2

relativeCCW

public static int relativeCCW(double x1,
                              double y1,
                              double x2,
                              double y2,
                              double px,
                              double py)

Возвращает индикатор положения указанной точки (px,py) относительно отрезка прямой от (x1,y1) до (x2,y2). Значение возврата может быть 1, -1 или 0 и указывает, в каком направлении указанная прямая должна повернуться вокруг своей первой конечной точки, (x1,y1), чтобы нацелиться на указанную точку (px,py).

Возврат 1 указывает, что отрезок прямой должен повернуться в направлении, которое переводит положительную ось X в отрицательную ось Y. В стандартной системе координат, используемой Java 2D, это направление против часовой стрелки.

Возврат -1 указывает, что отрезок прямой должен повернуться в направлении, которое переводит положительную ось X в положительную ось Y. В стандартной системе координат это направление по часовой стрелке.

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

Если точка коллинеарна отрезку прямой, но не находится между конечными точками, то значение будет -1, если точка находится «за (x1,y1)», или 1, если точка находится «за (x2,y2)».

Параметры:
x1 - координата X начальной точки указанного отрезка прямой
y1 - координата Y начальной точки указанного отрезка прямой
x2 - координата X конечной точки указанного отрезка прямой
y2 - координата Y конечной точки указанного отрезка прямой
px - координата X указанной точки для сравнения с указанным отрезком прямой
py - координата Y указанной точки для сравнения с указанным отрезком прямой
Возвращает:
целое число, которое указывает положение третьей указанной координаты относительно отрезка прямой, образованного первыми двумя указанными координатами.
С:
1.2

relativeCCW

public int relativeCCW(double px,
                       double py)

Возвращает индикатор положения указанной точки (px,py) относительно этого отрезка прямой. Обратитесь к комментариям к методу relativeCCW(double, double, double, double, double, double) для интерпретации возвращаемого значения.

Параметры:
px - координата X указанной точки для сравнения с этим Line2D
py - координата Y указанной точки для сравнения с этим Line2D
Возвращает:
целое число, которое указывает положение указанных координат относительно этого Line2D
С:
1.2
См. также:
relativeCCW(double, double, double, double, double, double)

relativeCCW

public int relativeCCW(Point2D p)

Возвращает индикатор положения указанной Point2D относительно этого отрезка прямой. Обратитесь к комментариям к методу relativeCCW(double, double, double, double, double, double) для интерпретации возвращаемого значения.

Параметры:
p - указанная Point2D для сравнения с этим Line2D
Возвращает:
целое число, которое указывает положение указанной Point2D относительно этого Line2D
С:
1.2
См. также:
relativeCCW(double, double, double, double, double, double)

linesIntersect

public static boolean linesIntersect(double x1,
                                     double y1,
                                     double x2,
                                     double y2,
                                     double x3,
                                     double y3,
                                     double x4,
                                     double y4)

Проверяет, пересекаются ли отрезок прямой от (x1,y1) до (x2,y2) с отрезком прямой от (x3,y3) до (x4,y4).

Параметры:
x1 - координата X начальной точки первого указанного отрезка прямой
y1 - координата Y начальной точки первого указанного отрезка прямой
x2 - координата X конечной точки первого указанного отрезка прямой
y2 - координата Y конечной точки первого указанного отрезка прямой
x3 - координата X начальной точки второго указанного отрезка прямой
y3 - координата Y начальной точки второго указанного отрезка прямой
x4 - координата X конечной точки второго указанного отрезка прямой
y4 - координата Y конечной точки второго указанного отрезка прямой
Возвращает:
true если первый указанный отрезок прямой и второй указанный отрезок прямой пересекаются; false в противном случае.
С:
1.2

intersectsLine

public boolean intersectsLine(double x1,
                              double y1,
                              double x2,
                              double y2)

Проверяет, пересекает ли отрезок прямой от (x1,y1) до (x2,y2) этот отрезок прямой.

Параметры:
x1 - координата X начальной точки указанного отрезка прямой
y1 - координата Y начальной точки указанного отрезка прямой
x2 - координата X конечной точки указанного отрезка прямой
y2 - координата Y конечной точки указанного отрезка прямой
Возвращает:
true если этот отрезок прямой и указанный отрезок прямой пересекаются; false в противном случае.
С:
1.2

intersectsLine

public boolean intersectsLine(Line2D l)

Проверяет, пересекает ли указанный отрезок прямой этот отрезок прямой.

Параметры:
l - указанный Line2D
Возвращает:
true если этот отрезок прямой и указанный отрезок прямой пересекаются; false в противном случае.
С:
1.2

ptSegDistSq

public static double ptSegDistSq(double x1,
                                 double y1,
                                 double x2,
                                 double y2,
                                 double px,
                                 double py)

Возвращает квадрат расстояния от точки до отрезка прямой. Измеряемое расстояние — это расстояние между указанной точкой и ближайшей точкой между указанными конечными точками. Если указанная точка пересекает отрезок прямой между конечными точками, этот метод возвращает 0.0.

Параметры:
x1 - координата X начальной точки указанного отрезка прямой
y1 - координата Y начальной точки указанного отрезка прямой
x2 - координата X конечной точки указанного отрезка прямой
y2 - координата Y конечной точки указанного отрезка прямой
px - координата X указанной точки, измеряемой относительно указанного отрезка прямой
py - координата Y указанной точки, измеряемой относительно указанного отрезка прямой
Возвращает:
значение с плавающей точкой, которое является квадратом расстояния от указанной точки до указанного отрезка прямой.
С:
1.2
См. также:
ptLineDistSq(double, double, double, double, double, double)

ptSegDist

public static double ptSegDist(double x1,
                               double y1,
                               double x2,
                               double y2,
                               double px,
                               double py)

Возвращает расстояние от точки до отрезка прямой. Измеряемое расстояние — это расстояние между указанной точкой и ближайшей точкой между указанными конечными точками. Если указанная точка пересекает отрезок прямой между конечными точками, этот метод возвращает 0.0.

Параметры:
x1 - координата X начальной точки заданного отрезка прямой
y1 - координата Y начальной точки заданного отрезка прямой
x2 - координата X конечной точки заданного отрезка прямой
y2 - координата Y конечной точки заданного отрезка прямой
px - координата X заданной точки, относительно которой измеряется расстояние до отрезка прямой
py - координата Y заданной точки, относительно которой измеряется расстояние до отрезка прямой
Возвращает:
вещественное значение, представляющее расстояние от заданной точки до заданного отрезка прямой.
С:
1.2
См. также:
ptLineDist(double, double, double, double, double, double)

ptSegDistSq

public double ptSegDistSq(double px,
                          double py)

Возвращает квадрат расстояния от точки до этого отрезка прямой. Расстояние измеряется между заданной точкой и ближайшей точкой между конечными точками текущей прямой. Если заданная точка пересекает отрезок прямой между конечными точками, этот метод возвращает 0.0.

Параметры:
px - координата X заданной точки, относительно которой измеряется расстояние до отрезка прямой
py - координата Y заданной точки, относительно которой измеряется расстояние до отрезка прямой
Возвращает:
вещественное значение, представляющее квадрат расстояния от заданной точки до текущего отрезка прямой.
С:
1.2
См. также:
ptLineDistSq(double, double)

ptSegDistSq

public double ptSegDistSq(Point2D pt)

Возвращает квадрат расстояния от Point2D до этого отрезка прямой. Расстояние измеряется между заданной точкой и ближайшей точкой между конечными точками текущей прямой. Если заданная точка пересекает отрезок прямой между конечными точками, этот метод возвращает 0.0.

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

ptSegDist

public double ptSegDist(double px,
                        double py)

Возвращает расстояние от точки до этого отрезка прямой. Расстояние измеряется между заданной точкой и ближайшей точкой между конечными точками текущей прямой. Если заданная точка пересекает отрезок прямой между конечными точками, этот метод возвращает 0.0.

Параметры:
px - координата X заданной точки, относительно которой измеряется расстояние до отрезка прямой
py - координата Y заданной точки, относительно которой измеряется расстояние до отрезка прямой
Возвращает:
вещественное значение, представляющее расстояние от заданной точки до текущего отрезка прямой.
С:
1.2
См. также:
ptLineDist(double, double)

ptSegDist

public double ptSegDist(Point2D pt)

Возвращает расстояние от Point2D до этого отрезка прямой. Расстояние измеряется между заданной точкой и ближайшей точкой между конечными точками текущей прямой. Если заданная точка пересекает отрезок прямой между конечными точками, этот метод возвращает 0.0.

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

ptLineDistSq

public static double ptLineDistSq(double x1,
                                  double y1,
                                  double x2,
                                  double y2,
                                  double px,
                                  double py)

Возвращает квадрат расстояния от точки до прямой. Расстояние измеряется между заданной точкой и ближайшей точкой на бесконечно продолженной прямой, определяемой заданными координатами. Если заданная точка пересекает прямую, этот метод возвращает 0.0.

Параметры:
x1 - координата X начальной точки заданной прямой
y1 - координата Y начальной точки заданной прямой
x2 - координата X конечной точки заданной прямой
y2 - координата Y конечной точки заданной прямой
px - координата X заданной точки, относительно которой измеряется расстояние до прямой
py - координата Y заданной точки, относительно которой измеряется расстояние до прямой
Возвращает:
вещественное значение, представляющее квадрат расстояния от заданной точки до заданной прямой.
С:
1.2
См. также:
ptSegDistSq(double, double, double, double, double, double)

ptLineDist

public static double ptLineDist(double x1,
                                double y1,
                                double x2,
                                double y2,
                                double px,
                                double py)

Возвращает расстояние от точки до прямой. Расстояние измеряется между заданной точкой и ближайшей точкой на бесконечно продолженной прямой, определяемой заданными координатами. Если заданная точка пересекает прямую, этот метод возвращает 0.0.

Параметры:
x1 - координата X начальной точки заданной прямой
y1 - координата Y начальной точки заданной прямой
x2 - координата X конечной точки заданной прямой
y2 - координата Y конечной точки заданной прямой
px - координата X заданной точки, относительно которой измеряется расстояние до прямой
py - координата Y заданной точки, относительно которой измеряется расстояние до прямой
Возвращает:
вещественное значение, представляющее расстояние от заданной точки до заданной прямой.
С:
1.2
См. также:
ptSegDist(double, double, double, double, double, double)

ptLineDistSq

public double ptLineDistSq(double px,
                           double py)

Возвращает квадрат расстояния от точки до этой прямой. Расстояние измеряется между заданной точкой и ближайшей точкой на бесконечно продолженной прямой, определяемой этой Line2D. Если заданная точка пересекает прямую, этот метод возвращает 0.0.

Параметры:
px - координата X заданной точки, относительно которой измеряется расстояние до этой прямой
py - координата Y заданной точки, относительно которой измеряется расстояние до этой прямой
Возвращает:
вещественное значение, представляющее квадрат расстояния от заданной точки до текущей прямой.
С:
1.2
См. также:
ptSegDistSq(double, double)

ptLineDistSq

public double ptLineDistSq(Point2D pt)

Возвращает квадрат расстояния от заданной Point2D до этой прямой. Расстояние измеряется между заданной точкой и ближайшей точкой на бесконечно продолженной прямой, определяемой этой Line2D. Если заданная точка пересекает прямую, этот метод возвращает 0.0.

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

ptLineDist

public double ptLineDist(double px,
                         double py)

Возвращает расстояние от точки до этой прямой. Расстояние измеряется между заданной точкой и ближайшей точкой на бесконечно продолженной прямой, определяемой этой Line2D. Если заданная точка пересекает прямую, этот метод возвращает 0.0.

Параметры:
px - координата X заданной точки, относительно которой измеряется расстояние
py - координата Y заданной точки, относительно которой измеряется расстояние
Возвращает:
вещественное значение, представляющее расстояние от заданной точки до текущей прямой.
С:
1.2
См. также:
ptSegDist(double, double)

ptLineDist

public double ptLineDist(Point2D pt)

Возвращает расстояние от Point2D до этой прямой. Расстояние измеряется между заданной точкой и ближайшей точкой на бесконечно продолженной прямой, определяемой этой Line2D. Если заданная точка пересекает прямую, этот метод возвращает 0.0.

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

contains

public boolean contains(double x,
                        double y)

Проверяет, находится ли заданная координата внутри границ этого Line2D. Этот метод требуется для реализации интерфейса Shape, но в случае объектов Line2D он всегда возвращает false, так как линия не содержит области.

Определено в:
contains в интерфейсе Shape
Параметры:
x - координата X заданной точки для проверки
y - координата Y заданной точки для проверки
Возвращает:
false , так как линия не содержит области.
С:
1.2

contains

public boolean contains(Point2D p)

Проверяет, находится ли заданная Point2D внутри границ этого Line2D. Этот метод требуется для реализации интерфейса Shape, но в случае объектов Line2D он всегда возвращает false, так как линия не содержит области.

Определяется:
contains в интерфейсе Shape
Параметры:
p - заданная Point2D для проверки
Возвращает:
false , так как Line2D не содержит области.
С:
1.2

intersects

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

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

Метод Shape.intersects() позволяет реализации Shape консервативно возвращать true в случае:

  • высокая вероятность пересечения прямоугольной области и Shape, но
  • вычисления для точного определения этого пересечения слишком дорогостоящие.
Это означает, что для некоторых Shapes этот метод может вернуть true, даже если прямоугольная область не пересекается с Shape. Класс Area выполняет более точные вычисления геометрического пересечения, чем большинство объектов Shape и поэтому может использоваться, если требуется более точный ответ.
Определяется:
intersects в интерфейсе Shape
Параметры:
x - координата X левого верхнего угла заданной прямоугольной области
y - координата Y левого верхнего угла заданной прямоугольной области
w - ширина заданной прямоугольной области
h - высота заданной прямоугольной области
Возвращает:
true если внутренние области Shape и прямоугольной области пересекаются или обе, скорее всего, пересекаются, а вычисления пересечения слишком дороги; false в противном случае.
С:
1.2
См. также:
Area

intersects

public boolean intersects(Rectangle2D r)

Проверяет, пересекается ли внутренняя область Shape с внутренней областью заданного Rectangle2D. Метод Shape.intersects() позволяет реализации Shape консервативно возвращать true в случае:

  • высокая вероятность пересечения Rectangle2D и Shape, но
  • вычисления для точного определения этого пересечения слишком дорогостоящие.
Это означает, что для некоторых Shapes этот метод может вернуть true , даже если Rectangle2D не пересекается с Shape. Класс Area выполняет более точные вычисления геометрического пересечения, чем большинство объектов Shape и поэтому может использоваться, если требуется более точный ответ.

Определяется:
intersects в интерфейсе Shape
Параметры:
r - заданный Rectangle2D
Возвращает:
true если внутренние области Shape и указанного Rectangle2D пересекаются или обе, скорее всего, пересекаются, а вычисления пересечения слишком дороги; false в противном случае.
С:
1.2
См. также:
Shape.intersects(double, double, double, double)

contains

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

Проверяет, полностью ли внутренняя область этой Line2D содержит указанный набор прямоугольных координат. Этот метод требуется для реализации интерфейса Shape, но в случае объектов Line2D он всегда возвращает false, так как линия не содержит области.

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

contains

public boolean contains(Rectangle2D r)

Проверяет, полностью ли внутренняя область этой Line2D содержит указанный Rectangle2D. Этот метод требуется для реализации интерфейса Shape, но в случае объектов Line2D он всегда возвращает false, так как линия не содержит области.

Определяется:
contains в интерфейсе Shape
Параметры:
r - заданный Rectangle2D для проверки
Возвращает:
false , так как Line2D не содержит области.
С:
1.2
См. также:
Shape.contains(double, double, double, double)

getBounds

public Rectangle getBounds()

Возвращает целочисленный Rectangle, который полностью охватывает Shape. Обратите внимание, что нет гарантии, что возвращаемый Rectangle является наименьшей ограничивающей прямоугольной областью, охватывающей Shape, только то, что Shape полностью находится внутри указанной Rectangle. Возвращаемый Rectangle также может не полностью охватить Shape, если Shape выходит за пределы ограниченного диапазона целочисленного типа данных. Метод getBounds2D обычно возвращает более узкую ограничивающую прямоугольную область из-за большей гибкости в представлении.

Обратите внимание, что определение внутри может привести к ситуациям, когда точки на определяющей внешней границе shape могут не считаться содержащимися в возвращаемом bounds объекте, но только в тех случаях, когда эти точки также не считаются содержащимися в исходном shape.

Если point находится внутри shape в соответствии с методом contains(point), то он должен находиться внутри границ возвращаемого Rectangle объекта в соответствии с методом contains(point) объекта bounds. Конкретно:

shape.contains(x,y) требует bounds.contains(x,y)

Если point не находится внутри shape, то он все равно может быть содержащимся в объекте bounds:

bounds.contains(x,y) не подразумевает shape.contains(x,y)

Определяется:
getBounds в интерфейсе Shape
Возвращает:
целочисленная Rectangle , которая полностью охватывает Shape.
С:
1.2
См. также:
Shape.getBounds2D()

getPathIterator

public PathIterator getPathIterator(AffineTransform at)

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

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

getPathIterator

public PathIterator getPathIterator(AffineTransform at,
                                    double flatness)

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

Определяется:
getPathIterator в интерфейсе Shape
Параметры:
at - указанный AffineTransform
flatness - максимальное отклонение от коллинеарности контрольных точек кривой до замены подделенной кривой прямой линией, соединяющей конечные точки. Поскольку объект Line2D всегда плоский, этот параметр игнорируется.
Возвращает:
a PathIterator , определяющий границу сглаженной Line2D
С:
1.2

clone

public Object clone()

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

Переопределяет:
clone в классе Object
Возвращает:
клон этого экземпляра.
Исключения:
OutOfMemoryError - если памяти недостаточно.
С:
1.2
См. также:
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/Line2D.html

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