Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class Line2D extends Object implements Shape, Cloneable
Line2D
представляет линейный сегмент в (x,y)
координатное пространство. Этот класс, как весь Java 2-D API, использует систему координат по умолчанию, названную пространством пользователя, в котором значения оси Y увеличиваются вниз и увеличение значений оси X направо. Для получения дополнительной информации по системе координат пространства пользователя см. раздел Этот класс является только абстрактным суперклассом для всех объектов, которые хранят 2-D линейный сегмент. Фактическое представление хранения координат оставляют подклассу.
Модификатор и Тип | Класс и Описание |
---|---|
static class |
Line2D.Double
Линейный сегмент определяется с двойными координатами.
|
static class |
Line2D.Float
Линейный сегмент определяется с координатами плавающими.
|
Модификатор | Конструктор и Описание |
---|---|
protected |
Line2D()
Это - абстрактный класс, который нельзя инстанцировать непосредственно.
|
Модификатор и Тип | Метод и Описание |
---|---|
Объект |
clone()
Создает новый объект того же самого класса как этот объект.
|
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, wait
getBounds2D
protected Line2D()
Line2D.Float
, Line2D.Double
public 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
- указанное Line2D
public 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 координат указанной точки, чтобы быть по сравнению с этим Line2D
py
- координата Y указанной точки, чтобы быть по сравнению с этим Line2D
Line2D
relativeCCW(double, double, double, double, double, double)
public int relativeCCW(Point2D p)
Point2D
находится относительно этого линейного сегмента. См. комментарии метода relativeCCW(double, double, double, double, double, double)
интерпретировать возвращаемое значение.p
- указанное Point2D
быть по сравнению с этим Line2D
Point2D
относительно этого Line2D
relativeCCW(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
- указанное Line2D
true
если этот линейный сегмент и указанный линейный сегмент пересекают друг друга; 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
класс выполняет более точные вычисления геометрического пересечения чем больше всего 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)
Line2D
полностью содержит указанный набор прямоугольных координат. Этот метод обязан реализовывать Shape
интерфейс, но в случае Line2D
объекты это всегда возвращает false начиная со строки, не содержат области.contains
в интерфейсе Shape
x
- X координат верхнего левого угла указанной прямоугольной областиy
- координата Y верхнего левого угла указанной прямоугольной областиw
- ширина указанной прямоугольной областиh
- высота указанной прямоугольной областиfalse
потому что a Line2D
не содержит области.Area
, Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Line2D
полностью содержит указанное Rectangle2D
. Этот метод обязан реализовывать Shape
интерфейс, но в случае Line2D
объекты это всегда возвращается false
так как строка не содержит области.contains
в интерфейсе Shape
r
- указанное 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
в интерфейсе Shape
Rectangle
это полностью включает Shape
.Shape.getBounds2D()
public PathIterator getPathIterator(AffineTransform at)
Line2D
. iterator для этого класса не является многопоточным сейфом, что означает что это Line2D
класс не гарантирует что модификации геометрии этого Line2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator
в интерфейсе Shape
at
- указанное AffineTransform
PathIterator
это определяет границу этого Line2D
.public PathIterator getPathIterator(AffineTransform at, double flatness)
Line2D
. iterator для этого класса не является многопоточным сейфом, что означает что это Line2D
класс не гарантирует что модификации геометрии этого Line2D
объект не влияет ни на какие итерации той геометрии, которые уже находятся в процессе.getPathIterator
в интерфейсе Shape
at
- указанное AffineTransform
flatness
- максимальное количество, которое контрольные точки для данной кривой могут изменить от colinear перед подразделенной кривой, заменяется прямой линией, соединяющей конечные точки. С тех пор a Line2D
объект является всегда плоским, этот параметр игнорируется.PathIterator
это определяет границу сглаженного Line2D
public Object clone()
clone
в классе Object
OutOfMemoryError
- если есть недостаточно памяти.Cloneable
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.