Spec-Zone.ru › OpenJDK 27

Класс CubicCurve2D

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

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

Начиная с версии:
1.2

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

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

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

CubicCurve2D()
Модификатор Конструктор Описание
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 getCtrlP1()
Возвращает первую контрольную точку.
abstract Point2D getCtrlP2()
Возвращает вторую контрольную точку.
abstract double getCtrlX1()
Возвращает X-координату первой контрольной точки с двойной точностью.
abstract double getCtrlX2()
Возвращает X-координату второй контрольной точки с двойной точностью.
abstract double getCtrlY1()
Возвращает Y-координату первой контрольной точки с двойной точностью.
abstract double getCtrlY2()
Возвращает Y-координату второй контрольной точки с двойной точностью.
double getFlatness()
Возвращает степень плоскостности этой кривой.
static double getFlatness(double[] coords, int offset)
Возвращает степень плоскостности кубической кривой, заданной контрольными точками, сохраненными в указанном массиве по указанному индексу.
static double getFlatness(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Возвращает степень плоскостности кубической кривой, заданной указанными контрольными точками.
double getFlatnessSq()
Возвращает квадрат степени плоскостности этой кривой.
static double getFlatnessSq(double[] coords, int offset)
Возвращает квадрат степени плоскостности кубической кривой, заданной контрольными точками, сохраненными в указанном массиве по указанному индексу.
static double getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Возвращает квадрат степени плоскостности кубической кривой, заданной указанными контрольными точками.
abstract Point2D getP1()
Возвращает начальную точку.
abstract Point2D getP2()
Возвращает конечную точку.
PathIterator getPathIterator(AffineTransform at)
Возвращает объект-итератор, задающий границу фигуры.
PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект-итератор, задающий границу уплощенной фигуры.
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.
void setCurve(double[] coords, int offset)
Задает расположение конечных и контрольных точек этой кривой, используя координаты double по указанному смещению в указанном массиве.
abstract void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Задает расположение конечных и контрольных точек этой кривой, используя указанные координаты double.
void setCurve(CubicCurve2D c)
Задает расположение конечных и контрольных точек этой кривой таким же, как у указанной CubicCurve2D.
void setCurve(Point2D[] pts, int offset)
Задает расположение конечных и контрольных точек этой кривой по координатам объектов Point2D, находящихся по указанному смещению в указанном массиве.
void setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2)
Задает расположение конечных и контрольных точек этой кривой, используя указанные координаты Point2D.
static int solveCubic(double[] eqn)
Решает кубическое уравнение, коэффициенты которого находятся в массиве eqn, помещает его действительные корни обратно в тот же массив и возвращает количество корней.
static int solveCubic(double[] eqn, double[] res)
Решает кубическое уравнение, коэффициенты которого находятся в массиве eqn, помещает его действительные корни в массив res и возвращает количество корней.
static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
Разбивает кубическую кривую, заданную координатами в массиве src с индексами от srcoff до (srcoff + 7), и сохраняет полученные две части кривой в двух результирующих массивах по соответствующим индексам.
void subdivide(CubicCurve2D left, CubicCurve2D right)
Разбивает эту кубическую кривую и сохраняет полученные две части в параметрах левой и правой кривых.
static void subdivide(CubicCurve2D src, CubicCurve2D left, CubicCurve2D 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()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо до истечения заданного промежутка реального времени.

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

CubicCurve2D

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

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

getX1

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

getY1

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

getP1

public abstract Point2D getP1()
Возвращает начальную точку.
Возвращает:
объект Point2D, представляющий собой начальную точку CubicCurve2D.
Начиная с:
1.2

getCtrlX1

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

getCtrlY1

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

getCtrlP1

public abstract Point2D getCtrlP1()
Возвращает первую управляющую точку.
Возвращает:
объект Point2D, представляющий собой первую управляющую точку CubicCurve2D.
Начиная с:
1.2

getCtrlX2

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

getCtrlY2

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

getCtrlP2

public abstract Point2D getCtrlP2()
Возвращает вторую управляющую точку.
Возвращает:
объект Point2D, представляющий собой вторую управляющую точку CubicCurve2D.
Начиная с:
1.2

getX2

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

getY2

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

getP2

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

setCurve

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

setCurve

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

setCurve

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

setCurve

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

setCurve

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

getFlatnessSq

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

getFlatness

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

getFlatnessSq

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

getFlatness

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

getFlatnessSq

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

getFlatness

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

subdivide

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

subdivide

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

subdivide

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

solveCubic

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

solveCubic

public static int solveCubic(double[] eqn, double[] res)
Решает кубическое уравнение, коэффициенты которого находятся в массиве eqn, записывает действительные корни в массив res и возвращает их количество. Решаемое кубическое уравнение представлено выражением: eqn = {c, b, a, d} dx^3 + 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.

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

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

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

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

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

getPathIterator

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