Spec-Zone.ru › OpenJDK 24

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

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

С тех пор:
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)
Устанавливает расположение конечных точек и управляющих точек этой кривой в соответствии с двойными координатами по указанному смещению в указанном массиве.
abstract void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
Устанавливает расположение конечных точек и управляющих точек этой кривой в соответствии с указанными двойными координатами.
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.

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

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

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

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)
Устанавливает положение конечных точек и контрольных точек этой кривой в указанных координатах с плавающей точкой.
Параметры:
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)
Устанавливает положение конечных точек и контрольных точек этой кривой в соответствии с координатами в указанном массиве по заданному смещению.
Параметры:
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
END_OF_DOCUMENT_MARKER

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. Левый и/или правый объекты могут быть такими же, как и объект 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)

Specified by:
getBounds в интерфейсе Shape
Returns:
целое число Rectangle, полностью охватывающее Shape.
Since:
1.2
See Also:
  • Shape.getBounds2D()

getPathIterator

public PathIterator getPathIterator(AffineTransform at)
Возвращает объект итератора, определяющий границу фигуры. Итератор для этого класса не является потокобезопасным, что означает, что этот CubicCurve2D класс не гарантирует, что изменения в геометрии этого CubicCurve2D объекта не повлияют на уже выполняющиеся итерации по этой геометрии.
Specified by:
getPathIterator в интерфейсе Shape
Parameters:
at - необязательное AffineTransform, которое должно быть применено к координатам по мере их возвращения в итерации, или null, если требуются не преобразованные координаты
Returns:
объект PathIterator, возвращающий геометрию контура этого CubicCurve2D, по одному сегменту за раз.
Since:
1.2

getPathIterator

public PathIterator getPathIterator(AffineTransform at, double flatness)
Возвращает объект итератора, определяющий границу сглаженной фигуры. Итератор для этого класса не является потокобезопасным, что означает, что этот CubicCurve2D класс не гарантирует, что изменения в геометрии этого CubicCurve2D объекта не повлияют на уже выполняющиеся итерации по этой геометрии.
Specified by:
getPathIterator в интерфейсе Shape
Parameters:
at - необязательное AffineTransform, которое должно быть применено к координатам по мере их возвращения в итерации, или null, если требуются не преобразованные координаты
flatness - максимальное отклонение, на которое контрольные точки кривой могут отличаться от коллинеарных до замены кривой с разделением на прямую линию, соединяющую конечные точки.
Returns:
объект PathIterator, возвращающий геометрию контура этого CubicCurve2D, по одному сегменту за раз.
Since:
1.2

clone

public Object clone()
Создаёт новый объект того же класса, что и этот объект.
Overrides:
clone в классе Object
Returns:
клонированный экземпляр.
Throws:
OutOfMemoryError - если памяти недостаточно.
Since:
1.2
See Also:
  • Cloneable

© 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/geom/CubicCurve2D.html

Spec-Zone.ru

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