Spec-Zone.ru › OpenJDK 27

Класс QuadCurve2D

java.lang.Object
java.awt.geom.QuadCurve2D
Все реализуемые интерфейсы:
Shape, Cloneable
Прямые известные подклассы:
QuadCurve2D.Double, QuadCurve2D.Float
public abstract class QuadCurve2D extends Object implements Shape, Cloneable
Класс QuadCurve2D определяет сегмент квадратичной параметрической кривой в координатном пространстве (x,y).

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

Начиная с:
1.2

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

Модификатор и тип Класс Описание
static class  QuadCurve2D.Double
Сегмент квадратичной параметрической кривой, заданный координатами double.
static class  QuadCurve2D.Float
Сегмент квадратичной параметрической кривой, заданный координатами float.

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

QuadCurve2D()
Модификатор Конструктор Описание
protected
Это абстрактный класс, который нельзя создать напрямую.

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

Модификатор и тип Метод Описание
Object clone()
Создает новый объект того же класса с тем же содержимым, что и этот объект.
boolean contains(double x, double y)
Проверяет, находятся ли указанные координаты внутри границы Shape, как описано в определении принадлежности внутренней области.
boolean contains(double x, double y, double w, double h)
Проверяет, полностью ли внутренняя область Shape содержит указанную прямоугольную область.
boolean contains(Point2D p)
Проверяет, находится ли указанная Point2D внутри границы Shape, как описано в определении принадлежности внутренней области.
boolean contains(Rectangle2D r)
Проверяет, полностью ли внутренняя область Shape содержит указанную Rectangle2D.
Rectangle getBounds()
Возвращает целочисленный объект Rectangle, полностью охватывающий Shape.
Rectangle2D getBounds2D()
Возвращает ограничивающую рамку Shape с более высокой точностью и большей достоверностью, чем метод getBounds.
abstract Point2D getCtrlPt()
Возвращает контрольную точку.
abstract double getCtrlX()
Возвращает координату X контрольной точки с точностью double.
abstract double getCtrlY()
Возвращает координату Y контрольной точки с точностью double.
double getFlatness()
Возвращает плоскостность этой QuadCurve2D, то есть максимальное расстояние контрольной точки от прямой, соединяющей конечные точки.
static double getFlatness(double[] coords, int offset)
Возвращает плоскостность квадратичной кривой, заданной контрольными точками, хранящимися в указанном массиве по указанному индексу, то есть максимальное расстояние контрольной точки от прямой, соединяющей конечные точки.
static double getFlatness(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
Возвращает плоскостность квадратичной кривой, заданной указанными контрольными точками, то есть максимальное расстояние контрольной точки от прямой, соединяющей конечные точки.
double getFlatnessSq()
Возвращает квадрат плоскостности этой QuadCurve2D, то есть максимального расстояния контрольной точки от прямой, соединяющей конечные точки.
static double getFlatnessSq(double[] coords, int offset)
Возвращает квадрат плоскостности квадратичной кривой, заданной контрольными точками, хранящимися в указанном массиве по указанному индексу, то есть квадрата максимального расстояния контрольной точки от прямой, соединяющей конечные точки.
static double getFlatnessSq(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
Возвращает квадрат плоскостности квадратичной кривой, заданной указанными контрольными точками, то есть квадрата максимального расстояния контрольной точки от прямой, соединяющей конечные точки.
abstract Point2D getP1()
Возвращает начальную точку.
abstract Point2D getP2()
Возвращает конечную точку.
PathIterator getPathIterator(AffineTransform at)
Возвращает объект итератора, определяющий границу фигуры этой QuadCurve2D.
PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект итератора, определяющий границу уплощенной фигуры этой QuadCurve2D.
abstract double getX1()
Возвращает координату X начальной точки с точностью double.
abstract double getX2()
Возвращает координату X конечной точки с точностью double.
abstract double getY1()
Возвращает координату Y начальной точки с точностью double.
abstract double getY2()
Возвращает координату Y конечной точки с точностью double.
boolean intersects(double x, double y, double w, double h)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной прямоугольной области.
boolean intersects(Rectangle2D r)
Проверяет, пересекается ли внутренняя область Shape с внутренней областью указанной Rectangle2D.
void setCurve(double[] coords, int offset)
Задает расположение конечных и контрольных точек этой QuadCurve2D, используя координаты double со смещения, указанного в заданном массиве.
abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
Задает расположение конечных и контрольной точки этой кривой по указанным координатам double.
void setCurve(Point2D[] pts, int offset)
Задает расположение конечных и контрольных точек этой QuadCurve2D по координатам объектов Point2D со смещения, указанного в заданном массиве.
void setCurve(Point2D p1, Point2D cp, Point2D p2)
Задает расположение конечных и контрольной точки этой QuadCurve2D по указанным координатам Point2D.
void setCurve(QuadCurve2D c)
Задает расположение конечных и контрольной точки этой QuadCurve2D таким же, как у указанной QuadCurve2D.
static int solveQuadratic(double[] eqn)
Решает квадратное уравнение, коэффициенты которого находятся в массиве eqn, помещает вещественные корни обратно в тот же массив и возвращает количество корней.
static int solveQuadratic(double[] eqn, double[] res)
Решает квадратное уравнение, коэффициенты которого находятся в массиве eqn, помещает вещественные корни в массив res и возвращает количество корней.
static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
Разбивает квадратичную кривую, заданную координатами в массиве src с индексов srcoff по srcoff + 5, и сохраняет полученные две части кривой в массивах результатов по соответствующим индексам.
void subdivide(QuadCurve2D left, QuadCurve2D right)
Разбивает эту QuadCurve2D и сохраняет полученные две части кривой в параметрах кривых left и right.
static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
Разбивает квадратичную кривую, заданную параметром src, и сохраняет полученные две части кривой в параметрах кривых left и right.

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

equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии.
Финализация устарела и подлежит удалению в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает значение хеш-кода этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

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

QuadCurve2D

protected QuadCurve2D()
Это абстрактный класс, который нельзя создать напрямую. Для создания доступны подклассы с реализациями, специфичными для типов; они предоставляют несколько форматов хранения данных, необходимых для работы различных методов доступа, перечисленных ниже.
Начиная с:
1.2
См. также:
  • QuadCurve2D.Float
  • QuadCurve2D.Double

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

getX1

public abstract double getX1()
Возвращает координату X начальной точки с точностью double.
Возвращает:
координату X начальной точки.
Начиная с:
1.2

getY1

public abstract double getY1()
Возвращает координату Y начальной точки с точностью double.
Возвращает:
координату Y начальной точки.
Начиная с:
1.2

getP1

public abstract Point2D getP1()
Возвращает начальную точку.
Возвращает:
Point2D, которая является начальной точкой этого QuadCurve2D.
Начиная с:
1.2

getCtrlX

public abstract double getCtrlX()
Возвращает координату X контрольной точки с точностью double.
Возвращает:
координату X контрольной точки
Начиная с:
1.2

getCtrlY

public abstract double getCtrlY()
Возвращает координату Y контрольной точки с точностью double.
Возвращает:
координату Y контрольной точки.
Начиная с:
1.2

getCtrlPt

public abstract Point2D getCtrlPt()
Возвращает контрольную точку.
Возвращает:
Point2D, которая является контрольной точкой этого Point2D.
Начиная с:
1.2

getX2

public abstract double getX2()
Возвращает координату X конечной точки с точностью double.
Возвращает:
координату x конечной точки.
Начиная с:
1.2

getY2

public abstract double getY2()
Возвращает координату Y конечной точки с точностью double.
Возвращает:
координату Y конечной точки.
Начиная с:
1.2

getP2

public abstract Point2D getP2()
Возвращает конечную точку.
Возвращает:
объект Point, который является конечной точкой этого Point2D.
Начиная с:
1.2

setCurve

public abstract void setCurve(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
Задает положение конечных точек и контрольной точки этой кривой указанными координатами double.
Параметры:
x1 — координата X начальной точки
y1 — координата Y начальной точки
ctrlx — координата X контрольной точки
ctrly — координата Y контрольной точки
x2 — координата X конечной точки
y2 — координата Y конечной точки
Начиная с:
1.2

setCurve

public void setCurve(double[] coords, int offset)
Задает положение конечных точек и контрольных точек этой QuadCurve2D координатами double по указанному смещению в заданном массиве.
Параметры:
coords — массив, содержащий значения координат
offset — индекс массива, с которого следует начать получение значений координат и их присвоение этому QuadCurve2D
Начиная с:
1.2

setCurve

public void setCurve(Point2D p1, Point2D cp, Point2D p2)
Задает положение конечных точек и контрольной точки этой QuadCurve2D указанными координатами Point2D.
Параметры:
p1 — начальная точка
cp — контрольная точка
p2 — конечная точка
Начиная с:
1.2

setCurve

public void setCurve(Point2D[] pts, int offset)
Задает положение конечных точек и контрольных точек этой QuadCurve2D координатами объектов Point2D по указанному смещению в заданном массиве.
Параметры:
pts — массив, содержащий Point2D, задающие значения координат
offset — индекс в pts, с которого следует начать получение значений координат и их присвоение этому QuadCurve2D
Начиная с:
1.2

setCurve

public void setCurve(QuadCurve2D c)
Задает положение конечных точек и контрольной точки этой QuadCurve2D таким же, как у указанного QuadCurve2D.
Параметры:
c — указанный QuadCurve2D
Начиная с:
1.2

getFlatnessSq

public static double getFlatnessSq(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
Возвращает квадрат плоскостности, то есть максимального расстояния контрольной точки до прямой, соединяющей конечные точки, для квадратичной кривой, заданной указанными контрольными точками.
Параметры:
x1 — координата X начальной точки
y1 — координата Y начальной точки
ctrlx — координата X контрольной точки
ctrly — координата Y контрольной точки
x2 — координата X конечной точки
y2 — координата Y конечной точки
Возвращает:
квадрат плоскостности квадратичной кривой, заданной указанными координатами.
Начиная с:
1.2

getFlatness

public static double getFlatness(double x1, double y1, double ctrlx, double ctrly, double x2, double y2)
Возвращает плоскостность, то есть максимальное расстояние контрольной точки до прямой, соединяющей конечные точки, для квадратичной кривой, заданной указанными контрольными точками.
Параметры:
x1 — координата X начальной точки
y1 — координата Y начальной точки
ctrlx — координата X контрольной точки
ctrly — координата Y контрольной точки
x2 — координата X конечной точки
y2 — координата Y конечной точки
Возвращает:
плоскостность квадратичной кривой, заданной указанными координатами.
Начиная с:
1.2

getFlatnessSq

public static double getFlatnessSq(double[] coords, int offset)
Возвращает квадрат плоскостности, то есть максимального расстояния контрольной точки до прямой, соединяющей конечные точки, для квадратичной кривой, заданной контрольными точками, сохраненными в указанном массиве по указанному индексу.
Параметры:
coords — массив, содержащий значения координат
offset — индекс в coords, с которого следует начать получение значений из массива
Возвращает:
плоскостность квадратичной кривой, заданной значениями в указанном массиве по указанному индексу.
Начиная с:
1.2

getFlatness

public static double getFlatness(double[] coords, int offset)
Возвращает плоскостность, то есть максимальное расстояние контрольной точки до прямой, соединяющей конечные точки, для квадратичной кривой, заданной контрольными точками, сохраненными в указанном массиве по указанному индексу.
Параметры:
coords — массив, содержащий значения координат
offset — индекс в coords, с которого следует начать получение значений координат
Возвращает:
плоскостность квадратичной кривой, заданной указанным массивом по указанному смещению.
Начиная с:
1.2

getFlatnessSq

public double getFlatnessSq()
Возвращает квадрат плоскостности, то есть максимального расстояния контрольной точки до прямой, соединяющей конечные точки, для этой QuadCurve2D.
Возвращает:
квадрат плоскостности этой QuadCurve2D.
Начиная с:
1.2

getFlatness

public double getFlatness()
Возвращает плоскостность, то есть максимальное расстояние контрольной точки до прямой, соединяющей конечные точки, для этой QuadCurve2D.
Возвращает:
плоскостность этой QuadCurve2D.
Начиная с:
1.2

subdivide

public void subdivide(QuadCurve2D left, QuadCurve2D right)
Разбивает эту QuadCurve2D на части и сохраняет полученные две части кривой в параметрах кривых left и right. Один или оба объекта left и right могут совпадать с этой QuadCurve2D или null.
Параметры:
left — объект QuadCurve2D для хранения левой, или первой, половины разбитой кривой
right — объект QuadCurve2D для хранения правой, или второй, половины разбитой кривой
Начиная с:
1.2

subdivide

public static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
Разбивает квадратичную кривую, заданную параметром src, на части и сохраняет полученные две части кривой в параметрах кривых left и right. Один или оба объекта left и right могут совпадать с объектом src или null.
Параметры:
src — квадратичная кривая, которую нужно разбить на части
left — объект QuadCurve2D для хранения левой, или первой, половины разбитой кривой
right — объект QuadCurve2D для хранения правой, или второй, половины разбитой кривой
Начиная с:
1.2

subdivide

public static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
Разбивает квадратичную кривую, заданную координатами, сохраненными в массиве src с индексов srcoff по srcoff + 5, и сохраняет полученные две части кривой в массивах результатов по соответствующим индексам. Один или оба массива left и right могут быть null или ссылаться на тот же массив и смещение, что и массив src. Обратите внимание, что последняя точка первой части кривой совпадает с первой точкой второй части кривой. Поэтому можно передать один и тот же массив для left и right, задав смещения так, чтобы rightoff было равно leftoff + 4, и тем самым не выделять дополнительную память для этой общей точки.
Параметры:
src — массив, содержащий координаты исходной кривой
srcoff — смещение в массиве, указывающее на начало 6 исходных координат
left — массив для хранения координат первой половины разбитой кривой
leftoff — смещение в массиве, указывающее на начало 6 координат левой части
right — массив для хранения координат второй половины разбитой кривой
rightoff — смещение в массиве, указывающее на начало 6 координат правой части
Начиная с:
1.2

solveQuadratic

public static int solveQuadratic(double[] eqn)
Решает квадратное уравнение, коэффициенты которого находятся в массиве eqn, помещает действительные корни в тот же массив и возвращает количество корней. Решаемое квадратное уравнение задается выражением:
    eqn = {C, B, A};
    ax^2 + bx + c = 0
Возвращаемое значение -1 позволяет отличить постоянное уравнение, которое может быть всегда равно 0 или никогда не быть равно 0, от уравнения, не имеющего корней.
Параметры:
eqn — массив, содержащий коэффициенты квадратного уравнения
Возвращает:
количество корней или -1, если уравнение является постоянным
Начиная с:
1.2

solveQuadratic

public static int solveQuadratic(double[] eqn, double[] res)
Решает квадратное уравнение, коэффициенты которого находятся в массиве eqn, помещает действительные корни в массив res и возвращает количество корней. Решаемое квадратное уравнение задается выражением:
    eqn = {C, B, A};
    ax^2 + bx + c = 0
Возвращаемое значение -1 позволяет отличить постоянное уравнение, которое может быть всегда равно 0 или никогда не быть равно 0, от уравнения, не имеющего корней.
Параметры:
eqn — указанный массив коэффициентов, используемых для решения квадратного уравнения
res — массив, содержащий действительные корни, полученные в результате решения квадратного уравнения
Возвращает:
количество корней или -1, если уравнение является постоянным.
Начиная с:
1.3

contains

public boolean contains(double x, double y)
Проверяет, находятся ли указанные координаты внутри границы Shape согласно определению принадлежности внутренней области.
Определено в:
contains в интерфейсе Shape
Параметры:
x — указанная координата X для проверки
y — указанная координата Y для проверки
Возвращает:
true, если указанные координаты находятся внутри границы Shape; в противном случае — false.
Начиная с:
1.2

contains

public boolean contains(Point2D p)
Проверяет, находится ли указанная Point2D внутри границы Shape согласно определению принадлежности внутренней области.
Определено в:
contains в интерфейсе Shape
Параметры:
p — указанная Point2D для проверки
Возвращает:
true, если указанная Point2D находится внутри границы Shape; в противном случае — false.
Начиная с:
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)
Проверяет, полностью ли внутренняя область Shape содержит заданную прямоугольную область. Все координаты, лежащие внутри прямоугольной области, должны находиться внутри Shape, чтобы прямоугольная область считалась полностью содержащейся в Shape.

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

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

contains

public boolean contains(Rectangle2D r)
Проверяет, полностью ли внутренняя область Shape содержит заданный Rectangle2D. Метод Shape.contains() позволяет реализации Shape консервативно возвращать false в следующих случаях:
  • метод intersect возвращает true, и
  • вычисления, необходимые для определения того, полностью ли Shape содержит Rectangle2D, требуют чрезмерных затрат.
Это означает, что для некоторых Shapes метод может вернуть false, даже если Shape содержит Rectangle2D. Класс Area выполняет более точные геометрические вычисления, чем большинство объектов Shape, поэтому его можно использовать, если требуется более точный результат.
Определено в:
contains в интерфейсе Shape
Параметры:
r — заданный Rectangle2D
Возвращает:
true, если внутренняя область Shape полностью содержит Rectangle2D; в противном случае — false, либо если Shape содержит Rectangle2D, метод intersects возвращает true, а вычисления проверки включения требуют чрезмерных затрат.
Начиная с:
1.2
См. также:
  • Shape.contains(double, double, double, double)

getBounds2D

public Rectangle2D getBounds2D()
Возвращает ограничивающий прямоугольник Shape с более высокой точностью и большей достоверностью, чем метод getBounds. Обратите внимание, что нет гарантии, что возвращаемый объект Rectangle2D является наименьшим ограничивающим прямоугольником, охватывающим Shape; гарантируется лишь, что Shape целиком находится внутри указанного Rectangle2D. Ограничивающий прямоугольник, возвращаемый этим методом, обычно точнее, чем прямоугольник, возвращаемый методом getBounds, и никогда не приводит к ошибкам переполнения, поскольку возвращаемое значение может быть экземпляром Rectangle2D, который использует значения двойной точности для хранения размеров.

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

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

shape.contains(p) требует bounds.contains(p)

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

bounds.contains(p) не влечет shape.contains(p)

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

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)
Возвращает объект-итератор, определяющий границу фигуры этого QuadCurve2D. Итератор этого класса не является потокобезопасным, то есть класс QuadCurve2D не гарантирует, что изменения геометрии объекта QuadCurve2D не повлияют на уже выполняющиеся итерации по этой геометрии.
Указано в:
getPathIterator в интерфейсе Shape
Параметры:
at — необязательное преобразование AffineTransform, применяемое к границе фигуры
Возвращает:
объект PathIterator, определяющий границу фигуры.
Начиная с:
1.2

getPathIterator

public PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект-итератор, определяющий границу упрощённой фигуры этого QuadCurve2D. Итератор этого класса не является потокобезопасным, то есть класс QuadCurve2D не гарантирует, что изменения геометрии объекта QuadCurve2D не повлияют на уже выполняющиеся итерации по этой геометрии.
Указано в:
getPathIterator в интерфейсе Shape
Параметры:
at — необязательное AffineTransform, применяемое к границе фигуры
flatness — максимальное расстояние от контрольных точек подразделённой кривой до прямой, соединяющей конечные точки этой кривой, при превышении которого кривая заменяется отрезком, соединяющим её конечные точки.
Возвращает:
объект PathIterator, определяющий упрощённую границу фигуры.
Начиная с:
1.2

clone

public Object clone()
Создаёт новый объект того же класса и с тем же содержимым, что и этот объект.
Переопределяет:
clone в классе Object
Возвращает:
клон этого экземпляра.
Вызывает исключение:
OutOfMemoryError — если недостаточно памяти.
Начиная с:
1.2
См. также:
  • Cloneable

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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