Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Area extends Object implements Shape, Cloneable
Area
объектно-ориентированные памяти и управляют независимым от разрешения описанием включенной области 2-мерного пространства. Area
объекты могут быть преобразованы и могут выполнить различную Конструктивную Геометрию области (CAG) операции когда объединено с другим Area
объекты. Операции CAG включают область addition
, subtraction
, intersection
, и exclusive or
. См. соединенную документацию метода для примеров различных операций. Area
класс реализует Shape
взаимодействуйте через интерфейс и обеспечивает полную поддержку всего ее тестирования хита и итеративных средств пути, но Area
является более определенным чем обобщенный путь многими способами:
Area
объекты, созданные из открытых путей, неявно закрываются во время конструкции, как будто те пути были заполнены Graphics2D.fill
метод. Area
напоминает путь, из которого это было создано только, в котором это описывает ту же самую включенную 2-мерную область, но может использовать полностью различные типы и упорядочивание сегментов пути, чтобы сделать так. Area
включайте: Area
от (открытого) открытого Shape
результаты в окруженной схеме Area
объект. Area
от a Shape
то, который не включает области (даже когда "закрыто") производит пустое Area
. Типичный пример этой проблемы является тем созданием Area
от строки будет пусто, так как строка не включает области. Пустое Area
не выполнит итерации никакой геометрии в PathIterator
объекты. Shape
может быть разделен на два (или больше) подсоединяет каналом каждого включающего одну из непересекающихся частей исходного пути. Area
может взять больше сегментов пути, чтобы описать ту же самую геометрию, даже когда исходная схема проста и очевидна. Анализ, что Area
класс должен выполнить на пути, возможно, не отражает то же самое понятие "простого и очевидного", как человек чувствует. Конструктор и Описание |
---|
Area()
Конструктор по умолчанию, который создает пустую область.
|
Area(Shape s)
Area класс создает геометрию области из указанного Shape объект. |
Модификатор и Тип | Метод и Описание |
---|---|
void |
add(Area rhs)
Добавляет форма указанного
Area к форме этого Area . |
Объект |
clone()
Возвращает точную копию этого
Area объект. |
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 . |
Область |
createTransformedArea(AffineTransform t)
Создает новое
Area объект, который содержит ту же самую геометрию как это Area преобразованный указанным AffineTransform . |
boolean |
equals(Area other)
Тесты, ли конфигурации двух
Area объекты равны. |
void |
exclusiveOr(Area rhs)
Устанавливает форму этого
Area быть объединенной областью его текущей формы и формы указанного Area , минус их пересечение. |
Прямоугольник |
getBounds()
Возвращает ограничение
Rectangle это полностью включает это Area . |
Rectangle2D |
getBounds2D()
Возвращает высокое ограничение точности
Rectangle2D это полностью включает это Area . |
PathIterator |
getPathIterator(AffineTransform at)
Создает a
PathIterator для схемы этого Area объект. |
PathIterator |
getPathIterator(AffineTransform at, double flatness)
Создает a
PathIterator для сглаженной схемы этого Area объект. |
void |
intersect(Area rhs)
Устанавливает форму этого
Area к пересечению его текущей формы и формы указанного Area . |
boolean |
intersects(double x, double y, double w, double h)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанной прямоугольной области. |
boolean |
intersects(Rectangle2D r)
Тесты, если внутренняя часть
Shape пересекает внутреннюю часть указанного Rectangle2D . |
boolean |
isEmpty()
Тесты, ли это
Area объект включает любую область. |
boolean |
isPolygonal()
Тесты, ли это
Area состоит полностью из прямой ограниченной многоугольной геометрии. |
boolean |
isRectangular()
Тесты, ли это
Area является прямоугольным в форме. |
boolean |
isSingular()
Тесты, ли это
Area состоит из единственного закрытого подпути. |
void |
reset()
Удаляет всю геометрию от этого
Area и восстановления это к пустой области. |
void |
subtract(Area rhs)
Вычитает форму указанного
Area от формы этого Area . |
void |
transform(AffineTransform t)
Преобразовывает геометрию этого
Area использование указанного AffineTransform . |
public Area()
public Area(Shape s)
Area
класс создает геометрию области из указанного Shape
объект. Геометрия явно закрывается, если Shape
уже не закрывается. Правило заливки (даже нечетный или вьющийся) определенный геометрией Shape
используется, чтобы определить получающуюся включенную область.s
- Shape
из которого создается областьNullPointerException
- если s
нульpublic void add(Area rhs)
Area
к форме этого Area
. Получающаяся форма этого Area
будет включать объединение обеих форм, или все области, которые содержались или в этом или в указанном Area
. // Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.add(a2); a1(before) + a2 = a1(after) ################ ################ ################ ############## ############## ################ ############ ############ ################ ########## ########## ################ ######## ######## ################ ###### ###### ###### ###### #### #### #### #### ## ## ## ##
rhs
- Area
быть добавленным к текущей формеNullPointerException
- если rhs
нульpublic void subtract(Area rhs)
Area
от формы этого Area
. Получающаяся форма этого Area
будет включать области, которые содержались только в этом Area
а не в указанном Area
. // Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.subtract(a2); a1(before) - a2 = a1(after) ################ ################ ############## ############## ## ############ ############ #### ########## ########## ###### ######## ######## ######## ###### ###### ###### #### #### #### ## ## ##
rhs
- Area
быть вычтенным из текущей формыNullPointerException
- если rhs
нульpublic void intersect(Area rhs)
Area
к пересечению его текущей формы и формы указанного Area
. Получающаяся форма этого Area
будет включать только области, которые содержались в обоих это Area
и также в указанном Area
. // Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.intersect(a2); a1(before) intersect a2 = a1(after) ################ ################ ################ ############## ############## ############ ############ ############ ######## ########## ########## #### ######## ######## ###### ###### #### #### ## ##
rhs
- Area
быть пересеченным с этим Area
NullPointerException
- если rhs
нульpublic void exclusiveOr(Area rhs)
Area
быть объединенной областью его текущей формы и формы указанного Area
, минус их пересечение. Получающаяся форма этого Area
будет включать только области, которые содержались в любом это Area
или в указанном Area
, но не в обоих. // Example: Area a1 = new Area([triangle 0,0 => 8,0 => 0,8]); Area a2 = new Area([triangle 0,0 => 8,0 => 8,8]); a1.exclusiveOr(a2); a1(before) xor a2 = a1(after) ################ ################ ############## ############## ## ## ############ ############ #### #### ########## ########## ###### ###### ######## ######## ################ ###### ###### ###### ###### #### #### #### #### ## ## ## ##
rhs
- Area
быть монопольным ORed с этим Area
.NullPointerException
- если rhs
нульpublic void reset()
Area
и восстановления это к пустой области.public boolean isEmpty()
Area
объект включает любую область.true
если это Area
объект представляет пустую область; false
иначе.public boolean isPolygonal()
Area
состоит полностью из прямой ограниченной многоугольной геометрии.true
если геометрия этого Area
состоит полностью из линейных сегментов; false
иначе.public boolean isRectangular()
Area
является прямоугольным в форме.true
если геометрия этого Area
является прямоугольным в форме; false
иначе.public boolean isSingular()
Area
состоит из единственного закрытого подпути. Этот метод возвраты true
если путь содержит 0 или 1 подпуть, или false
если путь содержит больше чем 1 подпуть. Подпути считаются числом SEG_MOVETO
сегменты, которые появляются в пути.true
если Area
состоит из единственной основной геометрии; false
иначе.public Rectangle2D getBounds2D()
Rectangle2D
это полностью включает это Area
. Класс области попытается возвратить самый трудный ограничивающий прямоугольник, возможный для Формы. Ограничивающий прямоугольник не будет дополнен, чтобы включать контрольные точки кривых в схеме Формы, но если плотно прилегающим образом фактическая геометрия схемы непосредственно.
getBounds2D
в интерфейсе Shape
Rectangle2D
для Area
.Shape.getBounds()
public Rectangle getBounds()
Rectangle
это полностью включает это Area
. Класс области попытается возвратить самый трудный ограничивающий прямоугольник, возможный для Формы. Ограничивающий прямоугольник не будет дополнен, чтобы включать контрольные точки кривых в схеме Формы, но если плотно прилегающим образом фактическая геометрия схемы непосредственно. Так как возвращенный объект представляет ограничивающий прямоугольник с целыми числами, ограничивающий прямоугольник может только быть столь же трудным как самые близкие целочисленные координаты, которые охватывают геометрию Формы.
getBounds
в интерфейсе Shape
Rectangle
для Area
.Shape.getBounds2D()
public Object clone()
Area
объект.public boolean equals(Area other)
Area
объекты равны. Этот метод возвратит false, если параметром будет нуль.other
- Area
быть по сравнению с этим Area
true
если эти два конфигураций равны; false
иначе.public void transform(AffineTransform t)
Area
использование указанного AffineTransform
. Геометрия преобразовывается на месте, который постоянно изменяет включенную область, определенную этим объектом.t
- преобразование, используемое, чтобы преобразовать областьNullPointerException
- если t
нульpublic Area createTransformedArea(AffineTransform t)
Area
объект, который содержит ту же самую геометрию как это Area
преобразованный указанным AffineTransform
. Это Area
объект неизменен.t
- указанное AffineTransform
используемый, чтобы преобразовать новое Area
Area
объект, представляющий преобразованную геометрию.NullPointerException
- если t
нульpublic boolean contains(double x, double y)
Shape
, как описано определением внутренних.public boolean contains(Point2D p)
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 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 PathIterator getPathIterator(AffineTransform at)
getPathIterator
в интерфейсе Shape
at
- дополнительное AffineTransform
быть примененным к координатам, поскольку они возвращаются в итерации, или null
если непреобразованные координаты требуютсяPathIterator
возразите, что возвращает геометрию схемы этого Area
, один сегмент за один раз.public PathIterator getPathIterator(AffineTransform at, double flatness)
PathIterator
для сглаженной схемы этого Area
объект. Только некривые сегменты пути, представленные SEG_MOVETO, SEG_LINETO, и типами точки SEG_CLOSE, возвращаются iterator. Это Area
объект неизменен.getPathIterator
в интерфейсе Shape
at
- дополнительное AffineTransform
быть примененным к координатам, поскольку они возвращаются в итерации, или null
если непреобразованные координаты требуютсяflatness
- максимальное количество, которое контрольные точки для данной кривой могут изменить от colinear перед подразделенной кривой, заменяется прямой линией, соединяющей конечные точкиPathIterator
возразите, что возвращает геометрию схемы этого Area
, один сегмент за один раз.
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.