Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class QuadCurve2D extends Object implements Shape, Cloneable
QuadCurve2D
класс определяет квадратный параметрический сегмент кривой в (x,y)
координатное пространство. Этот класс является только абстрактным суперклассом для всех объектов, которые хранят 2-D квадратный сегмент кривой. Фактическое представление хранения координат оставляют подклассу.
Модификатор и Тип | Класс и Описание |
---|---|
static class |
QuadCurve2D.Double
Квадратный параметрический сегмент кривой, определенный с
double координаты. |
static class |
QuadCurve2D.Float
Квадратный параметрический сегмент кривой, определенный с
float координаты. |
Модификатор | Конструктор и Описание |
---|---|
protected |
QuadCurve2D()
Это - абстрактный класс, который нельзя инстанцировать непосредственно.
|
Модификатор и Тип | Метод и Описание |
---|---|
Объект |
clone()
Создает новый объект того же самого класса и с тем же самым содержанием как этот объект.
|
boolean |
contains(double x, double y)
Тесты, если указанные координаты в границе
Shape , как описано определением внутренних. |
boolean |
contains(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape полностью содержит указанную прямоугольную область. |
boolean |
contains(Point2D p)
|
boolean |
contains(Rectangle2D r)
Тесты, если внутренняя часть
Shape полностью содержит указанное Rectangle2D . |
Прямоугольник |
getBounds()
Возвращает целое число
Rectangle это полностью включает Shape . |
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 параметры кривой. |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getBounds2D
protected QuadCurve2D()
QuadCurve2D.Float
, QuadCurve2D.Double
public abstract double getX1()
double
в точности.public abstract double getY1()
double
точность.public abstract Point2D getP1()
Point2D
это - стартовая точка этого QuadCurve2D
.public abstract double getCtrlX()
double
точность.public abstract double getCtrlY()
double
точность.public abstract Point2D getCtrlPt()
Point2D
это - контрольная точка этого Point2D
.public abstract double getX2()
double
точность.public abstract double getY2()
double
точность.public abstract Point2D getP2()
Point
объект, который является конечной точкой этого Point2D
.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 конечной точкиpublic void setCurve(double[] coords, int offset)
QuadCurve2D
к double
координаты при указанном смещении в указанном массиве.coords
- массив, содержащий координатные значенияoffset
- индекс в массив, от которого можно начать получать координатные значения и присваивать их этому QuadCurve2D
public void setCurve(Point2D p1, Point2D cp, Point2D p2)
QuadCurve2D
к указанному Point2D
координаты.p1
- стартовая точкаcp
- контрольная точкаp2
- конечная точкаpublic void setCurve(Point2D[] pts, int offset)
QuadCurve2D
к координатам Point2D
объекты при указанном смещении в указанном массиве.pts
- массив, содержащий Point2D
это определяет координатные значенияoffset
- индекс в pts
от которого можно начать получать координатные значения и присваивать их этому QuadCurve2D
public void setCurve(QuadCurve2D c)
QuadCurve2D
к тому же самому как те в указанном QuadCurve2D
.c
- указанное QuadCurve2D
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 конечной точки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 конечной точкиpublic static double getFlatnessSq(double[] coords, int offset)
coords
- массив, содержащий координатные значенияoffset
- индекс в coords
от которого до начать получать значения от массиваpublic static double getFlatness(double[] coords, int offset)
coords
- массив, содержащий координатные значенияoffset
- индекс в coords
от которого можно начать получать координатные значенияpublic double getFlatnessSq()
QuadCurve2D
.QuadCurve2D
.public double getFlatness()
QuadCurve2D
.QuadCurve2D
.public void subdivide(QuadCurve2D left, QuadCurve2D right)
QuadCurve2D
и хранит получающиеся две подразделенных кривые в left
и right
параметры кривой. Или или оба из left
и right
объекты могут быть тем же самым как этим QuadCurve2D
или null
.left
- QuadCurve2D
объект для того, чтобы сохранить покинутых или первую половину подразделенной кривойright
- QuadCurve2D
объект для того, чтобы сохранить правильную или вторую половину подразделенной кривойpublic static void subdivide(QuadCurve2D src, QuadCurve2D left, QuadCurve2D right)
src
параметр и хранилища получающиеся две подразделенных кривые в left
и right
параметры кривой. Или или оба из left
и right
объекты могут быть тем же самым как src
объект или null
.src
- квадратная кривая, которая будет подразделенаleft
- QuadCurve2D
объект для того, чтобы сохранить покинутых или первую половину подразделенной кривойright
- QuadCurve2D
объект для того, чтобы сохранить правильную или вторую половину подразделенной кривой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 правильных координатpublic static int solveQuadratic(double[] eqn)
eqn
массив и места некомплекс базируются назад в тот же самый массив, возвращая число корней. Решенное квадратное представляется уравнением: eqn = {C, B, A}; ax^2 + bx + c = 0Возвращаемое значение
-1
используется, чтобы отличить постоянное уравнение, которое могло бы всегда быть 0 или никогда 0 от уравнения, которое имеет, не обнуляет.eqn
- массив, который содержит квадратные коэффициенты-1
если уравнение является константой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
если уравнение является константой.public boolean contains(double x, double y)
Shape
, как описано определением внутренних.public boolean contains(Point2D p)
public boolean intersects(double x, double y, double w, double h)
Shape
пересекает внутреннюю часть указанной прямоугольной области. Прямоугольная область, как полагают, пересекается Shape
если какая-либо точка содержится в обоих внутренняя часть Shape
и указанная прямоугольная область. Shape.intersects()
метод позволяет a Shape
реализация, чтобы консервативно возвратиться true
когда:
Shape
пересекитесь, но Shapes
этот метод мог бы возвратиться true
даже при том, что прямоугольная область не пересекается Shape
. Area
класс выполняет более точные вычисления геометрического пересечения чем больше всего Shape
объекты и поэтому могут использоваться, если более точный ответ требуется.intersects
в интерфейсе Shape
x
- X координат верхнего левого угла указанной прямоугольной областиy
- координата Y верхнего левого угла указанной прямоугольной областиw
- ширина указанной прямоугольной областиh
- высота указанной прямоугольной областиtrue
если внутренняя часть Shape
и внутренняя часть прямоугольной области пересекается, или, и, очень вероятно, пересечется и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false
иначе.Area
public boolean intersects(Rectangle2D r)
Shape
пересекает внутреннюю часть указанного Rectangle2D
. Shape.intersects()
метод позволяет a Shape
реализация, чтобы консервативно возвратиться true
когда: Rectangle2D
и Shape
пересекитесь, но Shapes
этот метод мог бы возвратиться true
даже при том, что Rectangle2D
не пересекается Shape
. Area
класс выполняет более точные вычисления геометрического пересечения чем больше всего Shape
объекты и поэтому могут использоваться, если более точный ответ требуется.intersects
в интерфейсе Shape
r
- указанное Rectangle2D
true
если внутренняя часть Shape
и внутренняя часть указанного Rectangle2D
пересекитесь, или, и, очень вероятно, пересекутся и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false
иначе.Shape.intersects(double, double, double, double)
public boolean contains(double x, double y, double w, double h)
Shape
полностью содержит указанную прямоугольную область. Все координаты, которые лежат в прямоугольной области, должны лечь в пределах Shape
для всей rectanglar области, которую рассмотрят содержавший в пределах Shape
. Shape.contains()
метод позволяет a Shape
реализация, чтобы консервативно возвратиться false
когда:
intersect
возвраты метода true
и Shape
полностью содержит прямоугольную область, предельно дороги. Shapes
этот метод мог бы возвратиться false
даже при том, что Shape
содержит прямоугольную область. Area
класс выполняет более точные геометрические вычисления чем больше всего Shape
объекты и поэтому могут использоваться, если более точный ответ требуется.contains
в интерфейсе Shape
x
- X координат верхнего левого угла указанной прямоугольной областиy
- координата Y верхнего левого угла указанной прямоугольной областиw
- ширина указанной прямоугольной областиh
- высота указанной прямоугольной областиtrue
если внутренняя часть Shape
полностью содержит указанную прямоугольную область; false
иначе или, если Shape
содержит прямоугольную область и intersects
возвраты метода true
и вычисления включения были бы слишком дороги, чтобы выполнить.Area
, Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Shape
полностью содержит указанное Rectangle2D
. Shape.contains()
метод позволяет a Shape
реализация, чтобы консервативно возвратиться false
когда: intersect
возвраты метода true
и Shape
полностью содержит Rectangle2D
предельно дороги. Shapes
этот метод мог бы возвратиться false
даже при том, что Shape
содержит Rectangle2D
. Area
класс выполняет более точные геометрические вычисления чем больше всего Shape
объекты и поэтому могут использоваться, если более точный ответ требуется.contains
в интерфейсе Shape
r
- Указанное Rectangle2D
true
если внутренняя часть Shape
полностью содержит Rectangle2D
; false
иначе или, если Shape
содержит Rectangle2D
и intersects
возвраты метода true
и вычисления включения были бы слишком дороги, чтобы выполнить.Shape.contains(double, double, double, double)
public Rectangle getBounds()
Rectangle
это полностью включает Shape
. Отметьте, что нет никакой гарантии что возвращенный Rectangle
самый маленький ограничивающий прямоугольник, который включает Shape
, только то, что Shape
находится полностью в пределах обозначенного Rectangle
. Возвращенный Rectangle
мог бы также быть не в состоянии полностью включить Shape
если Shape
переполняет ограниченного диапазона целочисленного типа данных. getBounds2D
метод обычно возвращает более трудный ограничивающий прямоугольник из-за его большей гибкости в представлении. Отметьте, что определение внутренних может привести к ситуациям где точки на схеме определения shape
возможно, не считается содержавшимся в возвращенном bounds
объект, но только в случаях, где те вопросы также не рассматриваются содержавшиеся в оригинале shape
.
Если a point
в shape
согласно contains(point)
метод, тогда это должно быть в возвращенном Rectangle
границы возражают согласно contains(point)
метод bounds
. Определенно:
shape.contains(x,y)
требует bounds.contains(x,y)
Если a point
не в shape
, тогда это могло бы все еще содержаться в bounds
объект:
bounds.contains(x,y)
не подразумевает shape.contains(x,y)
getBounds
в интерфейсе Shape
Rectangle
это полностью включает Shape
.Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at)
QuadCurve2D
. iterator для этого класса не является многопоточным сейфом, что означает что это QuadCurve2D
класс не гарантирует что модификации геометрии этого QuadCurve2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator
в интерфейсе Shape
at
- дополнительное AffineTransform
применяться к границе формыPathIterator
объект, который определяет границу формы.public PathIterator getPathIterator(AffineTransform at, double flatness)
QuadCurve2D
. iterator для этого класса не является многопоточным сейфом, что означает что это QuadCurve2D
класс не гарантирует что модификации геометрии этого QuadCurve2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator
в интерфейсе Shape
at
- дополнительное AffineTransform
применяться к границе формыflatness
- максимальное расстояние, что контрольные точки для подразделенной кривой могут быть относительно строки, соединяющей конечные точки этой кривой перед этой кривой, заменяется прямой линией, соединяющей конечные точки.PathIterator
объект, который определяет сглаженную границу формы.public Object clone()
clone
в классе Object
OutOfMemoryError
- если есть недостаточно памяти.Cloneable
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.