|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Line2D extends Object implements Shape, Cloneable
Line2D представляет линейный сегмент в (x,y) координатное пространство. Этот class, как весь Java 2-D API, использует систему координат значения по умолчанию, названную пространством пользователя, в котором значения оси Y увеличиваются вниз и увеличение значений оси X направо. Для получения дополнительной информации по системе координат пространства пользователя см. раздел Java Руководство 2-D Программиста. Этот class является только абстрактным суперклассом для всех объектов, которые хранят 2-D линейный сегмент. Фактическое представление хранения координат оставляют подклассу.
| Модификатор и Тип | Класс и Описание |
|---|---|
static class |
Line2D.Double
Линейный сегмент определяется с двойными координатами.
|
static class |
Line2D.Float
Линейный сегмент определяется с координатами плавающими.
|
| Модификатор | Конструктор и Описание |
|---|---|
protected |
Line2D()
Это - абстрактный class, который нельзя инстанцировать непосредственно.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
Объект |
clone()
Создает новый объект того же самого class как этот объект.
|
boolean |
contains(double x, double y)
Тесты, если указанная координата в границе этого
Line2D. |
boolean |
contains(double x, double y, double w, double h)
Тесты, если внутренняя часть этого
Line2D полностью содержит указанный набор прямоугольных координат. |
boolean |
contains(Point2D p)
Тесты, если данный
Point2D в границе этого Line2D. |
boolean |
contains(Rectangle2D r)
Тесты, если внутренняя часть этого
Line2D полностью содержит указанное Rectangle2D. |
Прямоугольник |
getBounds()
Возвращает целое число
Rectangle это полностью включает Shape. |
abstract Point2D |
getP1()
Возвращает запуск
Point2D из этого Line2D. |
abstract Point2D |
getP2()
Возвращает конец
Point2D из этого Line2D. |
PathIterator |
getPathIterator(AffineTransform at)
Возвращает итеративный объект, который определяет границу этого
Line2D. |
PathIterator |
getPathIterator(AffineTransform at, double flatness)
Возвращает итеративный объект, который определяет границу сглаженного
Line2D. |
abstract double |
getX1()
Возвращает X координат стартовой точки в двойной точности.
|
abstract double |
getX2()
Возвращает X координат конечной точки в двойной точности.
|
abstract double |
getY1()
Возвращает координату Y стартовой точки в двойной точности.
|
abstract double |
getY2()
Возвращает координату Y конечной точки в двойной точности.
|
boolean |
intersects(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанной прямоугольной области. |
boolean |
intersects(Rectangle2D r)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанного Rectangle2D. |
boolean |
intersectsLine(double x1, double y1, double x2, double y2)
Тесты, если линейный сегмент от
(x1,y1) к (x2,y2) пересекает этот линейный сегмент. |
boolean |
intersectsLine(Line2D l)
Тесты, если указанный линейный сегмент пересекает этот линейный сегмент.
|
static boolean |
linesIntersect(double x1, double y1, double x2, double y2, double x3, double y3, double x4, double y4)
Тесты, если линейный сегмент от
(x1,y1) к (x2,y2) пересекает линейный сегмент от (x3,y3) к (x4,y4). |
double |
ptLineDist(double px, double py)
Возвращает расстояние от точки до этой строки.
|
static double |
ptLineDist(double x1, double y1, double x2, double y2, double px, double py)
Возвращает расстояние от точки до строки.
|
double |
ptLineDist(Point2D pt)
Возвращает расстояние от a
Point2D к этой строке. |
double |
ptLineDistSq(double px, double py)
Возвращает квадрат расстояния от точки до этой строки.
|
static double |
ptLineDistSq(double x1, double y1, double x2, double y2, double px, double py)
Возвращает квадрат расстояния от точки до строки.
|
double |
ptLineDistSq(Point2D pt)
Возвращает квадрат расстояния от указанного
Point2D к этой строке. |
double |
ptSegDist(double px, double py)
Возвращает расстояние от точки до этого линейного сегмента.
|
static double |
ptSegDist(double x1, double y1, double x2, double y2, double px, double py)
Возвращает расстояние от точки до линейного сегмента.
|
double |
ptSegDist(Point2D pt)
Возвращает расстояние от a
Point2D к этому линейному сегменту. |
double |
ptSegDistSq(double px, double py)
Возвращает квадрат расстояния от точки до этого линейного сегмента.
|
static double |
ptSegDistSq(double x1, double y1, double x2, double y2, double px, double py)
Возвращает квадрат расстояния от точки до линейного сегмента.
|
double |
ptSegDistSq(Point2D pt)
Возвращает квадрат расстояния от a
Point2D к этому линейному сегменту. |
int |
relativeCCW(double px, double py)
Возвращает индикатор где указанная точка
(px,py) находится относительно этого линейного сегмента. |
static int |
relativeCCW(double x1, double y1, double x2, double y2, double px, double py)
Возвращает индикатор где указанная точка
(px,py) находится относительно линейного сегмента от (x1,y1) к (x2,y2). |
int |
relativeCCW(Point2D p)
Возвращает индикатор где указанное
Point2D находится относительно этого линейного сегмента. |
abstract void |
setLine(double x1, double y1, double x2, double y2)
Устанавливает расположение конечных точек этого
Line2D к указанным двойным координатам. |
void |
setLine(Line2D l)
Устанавливает расположение конечных точек этого
Line2D к тому же самому как те конечные точки указанного Line2D. |
void |
setLine(Point2D p1, Point2D p2)
Устанавливает расположение конечных точек этого
Line2D к указанному Point2D координаты. |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetBounds2Dprotected Line2D()
Line2D.Float, Line2D.Doublepublic abstract double getX1()
Line2D объект.public abstract double getY1()
Line2D объект.public abstract Point2D getP1()
Point2D из этого Line2D.Point2D из этого Line2D.public abstract double getX2()
Line2D объект.public abstract double getY2()
Line2D объект.public abstract Point2D getP2()
Point2D из этого Line2D.Point2D из этого Line2D.public abstract void setLine(double x1,
double y1,
double x2,
double y2)
Line2D к указанным двойным координатам.x1 - X координат стартовой точкиy1 - координата Y стартовой точкиx2 - X координат конечной точкиy2 - координата Y конечной точкиpublic void setLine(Point2D p1, Point2D p2)
Line2D к указанному Point2D координаты.p1 - запуск Point2D из линейного сегментаp2 - конец Point2D из линейного сегментаpublic void setLine(Line2D l)
Line2D к тому же самому как те конечные точки указанного Line2D.l - указанное Line2Dpublic static int relativeCCW(double x1,
double y1,
double x2,
double y2,
double px,
double py)
(px,py) находится относительно линейного сегмента от (x1,y1) к (x2,y2). Возвращаемое значение может быть или 1,-1, или 0 и указывает, в котором направлении указанная строка должна вертеться вокруг своей первой конечной точки, (x1,y1), чтобы указать на указанную точку (px,py). Возвращаемое значение 1 указывает, что линейный сегмент должен повернуться в направлении, которое берет положительное X осей к отрицательной Оси Y. В системе координат значения по умолчанию, используемой 2-D Java, это направление против часовой стрелки.
Возвращаемое значение-1 указывает, что линейный сегмент должен повернуться в направлении, которое берет положительное X осей к положительной Оси Y. В системе координат значения по умолчанию это направление по часовой стрелке.
Возвращаемое значение 0 указывает, что точка находится точно на линейном сегменте. Отметьте, что значение индикатора 0 редко и не полезно для определения colinearity из-за проблем округления плавающей точки.
Если точка будет colinear с линейным сегментом, но не между конечными точками, то значение будет-1, если точка найдется "вне (x1,y1)"или 1, если точка находится "вне (x2,y2)".
x1 - X координат стартовой точки указанного линейного сегментаy1 - координата Y стартовой точки указанного линейного сегментаx2 - X координат конечной точки указанного линейного сегментаy2 - координата Y конечной точки указанного линейного сегментаpx - X координат указанной точки, чтобы быть по сравнению с указанным линейным сегментомpy - координата Y указанной точки, чтобы быть по сравнению с указанным линейным сегментомpublic int relativeCCW(double px,
double py)
(px,py) находится относительно этого линейного сегмента. См. комментарии метода relativeCCW(double, double, double, double, double, double) интерпретировать возвращаемое значение.px - X координат указанной точки, чтобы быть по сравнению с этим Line2Dpy - координата Y указанной точки, чтобы быть по сравнению с этим Line2DLine2DrelativeCCW(double, double, double, double, double, double)public int relativeCCW(Point2D p)
Point2D находится относительно этого линейного сегмента. См. комментарии метода relativeCCW(double, double, double, double, double, double) интерпретировать возвращаемое значение.p - указанное Point2D быть по сравнению с этим Line2DPoint2D относительно этого Line2DrelativeCCW(double, double, double, double, double, double)public static boolean linesIntersect(double x1,
double y1,
double x2,
double y2,
double x3,
double y3,
double x4,
double y4)
(x1,y1) к (x2,y2) пересекает линейный сегмент от (x3,y3) к (x4,y4).x1 - X координат стартовой точки первого указанного линейного сегментаy1 - координата Y стартовой точки первого указанного линейного сегментаx2 - X координат конечной точки первого указанного линейного сегментаy2 - координата Y конечной точки первого указанного линейного сегментаx3 - X координат стартовой точки второго указанного линейного сегментаy3 - координата Y стартовой точки второго указанного линейного сегментаx4 - X координат конечной точки второго указанного линейного сегментаy4 - координата Y конечной точки второго указанного линейного сегментаtrue если первый указанный линейный сегмент и второй указанный линейный сегмент пересекают друг друга; false иначе.public boolean intersectsLine(double x1,
double y1,
double x2,
double y2)
(x1,y1) к (x2,y2) пересекает этот линейный сегмент.x1 - X координат стартовой точки указанного линейного сегментаy1 - координата Y стартовой точки указанного линейного сегментаx2 - X координат конечной точки указанного линейного сегментаy2 - координата Y конечной точки указанного линейного сегментаfalse иначе.public boolean intersectsLine(Line2D l)
l - указанное Line2Dtrue если этот линейный сегмент и указанный линейный сегмент пересекают друг друга; false иначе.public static double ptSegDistSq(double x1,
double y1,
double x2,
double y2,
double px,
double py)
x1 - X координат стартовой точки указанного линейного сегментаy1 - координата Y стартовой точки указанного линейного сегментаx2 - X координат конечной точки указанного линейного сегментаy2 - координата Y конечной точки указанного линейного сегментаpx - X координат указанной точки, измеряемой против указанного линейного сегментаpy - координата Y указанной точки, измеряемой против указанного линейного сегментаptLineDistSq(double, double, double, double, double, double)public static double ptSegDist(double x1,
double y1,
double x2,
double y2,
double px,
double py)
x1 - X координат стартовой точки указанного линейного сегментаy1 - координата Y стартовой точки указанного линейного сегментаx2 - X координат конечной точки указанного линейного сегментаy2 - координата Y конечной точки указанного линейного сегментаpx - X координат указанной точки, измеряемой против указанного линейного сегментаpy - координата Y указанной точки, измеряемой против указанного линейного сегментаptLineDist(double, double, double, double, double, double)public double ptSegDistSq(double px,
double py)
px - X координат указанной точки, измеряемой против этого линейного сегментаpy - координата Y указанной точки, измеряемой против этого линейного сегментаptLineDistSq(double, double)public double ptSegDistSq(Point2D pt)
Point2D к этому линейному сегменту. Измеренное расстояние является расстоянием между указанной точкой и самой близкой точкой между конечными точками текущей строки. Если указанная точка пересекает линейный сегмент промежуточный конечные точки, этот метод возвращается 0.0.pt - указанное Point2D будучи измеренным против этого линейного сегмента.Point2D к текущему линейному сегменту.ptLineDistSq(Point2D)public double ptSegDist(double px,
double py)
px - X координат указанной точки, измеряемой против этого линейного сегментаpy - координата Y указанной точки, измеряемой против этого линейного сегментаptLineDist(double, double)public double ptSegDist(Point2D pt)
Point2D к этому линейному сегменту. Измеренное расстояние является расстоянием между указанной точкой и самой близкой точкой между конечными точками текущей строки. Если указанная точка пересекает линейный сегмент промежуточный конечные точки, этот метод возвращается 0.0.pt - указанное Point2D будучи измеренным против этого линейного сегментаPoint2D к текущему линейному сегменту.ptLineDist(Point2D)public static double ptLineDistSq(double x1,
double y1,
double x2,
double y2,
double px,
double py)
x1 - X координат стартовой точки указанной строкиy1 - координата Y стартовой точки указанной строкиx2 - X координат конечной точки указанной строкиy2 - координата Y конечной точки указанной строкиpx - X координат указанной точки, измеряемой против указанной строкиpy - координата Y указанной точки, измеряемой против указанной строкиptSegDistSq(double, double, double, double, double, double)public static double ptLineDist(double x1,
double y1,
double x2,
double y2,
double px,
double py)
x1 - X координат стартовой точки указанной строкиy1 - координата Y стартовой точки указанной строкиx2 - X координат конечной точки указанной строкиy2 - координата Y конечной точки указанной строкиpx - X координат указанной точки, измеряемой против указанной строкиpy - координата Y указанной точки, измеряемой против указанной строкиptSegDist(double, double, double, double, double, double)public double ptLineDistSq(double px,
double py)
Line2D. Если указанная точка пересекает строку, этот метод возвращается 0.0.px - X координат указанной точки, измеряемой против этой строкиpy - координата Y указанной точки, измеряемой против этой строкиptSegDistSq(double, double)public double ptLineDistSq(Point2D pt)
Point2D к этой строке. Измеренное расстояние является расстоянием между указанной точкой и самой близкой точкой на бесконечно расширенной строке, определенной этим Line2D. Если указанная точка пересекает строку, этот метод возвращается 0.0.pt - указанное Point2D будучи измеренным против этой строкиPoint2D к текущей строке.ptSegDistSq(Point2D)public double ptLineDist(double px,
double py)
Line2D. Если указанная точка пересекает строку, этот метод возвращается 0.0.px - X координат указанной точки, измеряемой против этой строкиpy - координата Y указанной точки, измеряемой против этой строкиptSegDist(double, double)public double ptLineDist(Point2D pt)
Point2D к этой строке. Измеренное расстояние является расстоянием между указанной точкой и самой близкой точкой на бесконечно расширенной строке, определенной этим Line2D. Если указанная точка пересекает строку, этот метод возвращается 0.0.pt - указанное Point2D быть измереннымPoint2D к текущей строке.ptSegDist(Point2D)public boolean contains(double x,
double y)
Line2D. Этот метод обязан реализовывать Shape интерфейс, но в случае Line2D объекты это всегда возвращается false так как строка не содержит области.public boolean contains(Point2D p)
Point2D в границе этого Line2D. Этот метод обязан реализовывать Shape интерфейс, но в случае Line2D объекты это всегда возвращается false так как строка не содержит области.public boolean intersects(double x,
double y,
double w,
double h)
Shape пересекает внутреннюю часть указанной прямоугольной области. Прямоугольная область, как полагают, пересекается Shape если какая-либо точка содержится в обоих внутренняя часть Shape и указанная прямоугольная область. Shape.intersects() метод позволяет a Shape реализация, чтобы консервативно возвратиться true когда:
Shape пересекитесь, но Shapes этот метод мог бы возвратиться true даже при том, что прямоугольная область не пересекается Shape. Area class выполняет более точные вычисления геометрического пересечения чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.intersects в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиtrue если внутренняя часть Shape и внутренняя часть прямоугольной области пересекается, или, и, очень вероятно, пересечется и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Areapublic boolean intersects(Rectangle2D r)
Shape пересекает внутреннюю часть указанного Rectangle2D. Shape.intersects() метод позволяет a Shape реализация, чтобы консервативно возвратиться true когда: Rectangle2D и Shape пересекитесь, но Shapes этот метод мог бы возвратиться true даже при том, что Rectangle2D не пересекается Shape. Area class выполняет более точные вычисления геометрического пересечения чем больше всего Shape объекты и поэтому могут использоваться, если более точный ответ требуется.intersects в интерфейсе Shaper - указанное Rectangle2Dtrue если внутренняя часть Shape и внутренняя часть указанного Rectangle2D пересекитесь, или, и, очень вероятно, пересекутся и перекрестные вычисления, было бы слишком дорого, чтобы выполнить; false иначе.Shape.intersects(double, double, double, double)public boolean contains(double x,
double y,
double w,
double h)
Line2D полностью содержит указанный набор прямоугольных координат. Этот метод обязан реализовывать Shape интерфейс, но в случае Line2D объекты это всегда возвращает false начиная со строки, не содержат области.contains в интерфейсе Shapex - X координат верхнего левого угла указанной прямоугольной областиy - координата Y верхнего левого угла указанной прямоугольной областиw - width указанной прямоугольной областиh - height указанной прямоугольной областиfalse потому что a Line2D не содержит области.Area, Shape.intersects(double, double, double, double)public boolean contains(Rectangle2D r)
Line2D полностью содержит указанное Rectangle2D. Этот метод обязан реализовывать Shape интерфейс, но в случае Line2D объекты это всегда возвращается false так как строка не содержит области.contains в интерфейсе Shaper - указанное Rectangle2D быть протестированнымfalse потому что a Line2D не содержит области.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 в интерфейсе ShapeRectangle это полностью включает Shape.Shape.getBounds2D()public PathIterator getPathIterator(AffineTransform at)
Line2D. iterator для этого class не является многопоточным сейфом, что означает что это Line2D class не гарантирует что модификации геометрии этого Line2D объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator в интерфейсе Shapeat - указанное AffineTransformPathIterator это определяет границу этого Line2D.public PathIterator getPathIterator(AffineTransform at, double flatness)
Line2D. iterator для этого class не является многопоточным сейфом, что означает что это Line2D class не гарантирует что модификации геометрии этого Line2D объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator в интерфейсе Shapeat - указанное AffineTransformflatness - максимальное количество, которое контрольные точки для данной кривой могут изменить от colinear перед подразделенной кривой, заменяется прямой линией, соединяющей конечные точки. С тех пор a Line2D объект является всегда плоским, этот параметр игнорируется.PathIterator это определяет границу сглаженного Line2Dpublic Object clone()
clone в class ObjectOutOfMemoryError - если есть недостаточно памяти.Cloneable
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92