|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.geom.Area
public class Area
Area
객체는, 2 차원 공간이 닫은 영역에 도착해 해상도에 의존하지 않는 기술을 포함 및 조작합니다. Area
객체는 변환 가능해, 다른 Area
객체와의 결합시에 각종의 CAG (구성 영역 기하학적 도형) 연산을 실행할 수 있습니다. CAG 연산에는 영역의화
,차
,적
, 및배타적 논리합
등이 있습니다. 각종의 연산의 예에 대해서는, 링크처의 메소드 문서를 참조해 주세요.
Area
클래스는,Shape
인터페이스를 구현해, 히트 검사기노우 및 패스 반복 기능의 모든 것을 완전하게 지원합니다. 다만 이하와 같은 점으로써,Area
는 일반화된 패스보다 특화되고 있습니다.
Area
객체는, 구축중에 암묵적으로 닫혀져, 그 패스가 Graphics2D.fill
메소드로 전부 칠해졌는지와 같이 됩니다.
Area
의 윤곽선을 기술하는 패스의 기하학적 도형은, 같은 2 차원이 닫은 영역을 기술한다고 하는 점만이 구축원의 패스를 닮아 있습니다. 다만, 기술하기 위해서 사용하는 패스 세그먼트(segment)의 종류와 순서는, 완전히 다른 일이 있습니다.
Area
의 사용시에 반드시 명백하지 않는 점은 다음과 같습니다.
Shape
로부터 Area
를 작성하면(자),Area
객체의 윤곽선은 닫혀집니다.
Shape
로부터 Area
를 작성하면(자), 빈 상태(empty)의 Area
가 생성됩니다. 예를 들어 자주 있는 예로서 라인이 둘러싸고 있는 영역이 없기 위해(때문에), 이 라인으로부터 Area
를 생성하면(자) 비웁니다. 빈 상태(empty)의 Area
는, 그 PathIterator
객체내의 기하학적 도형을 반복 처리 하지 않습니다.
Shape
는, 원의 패스로 교차하고 있지 않는 부분을 둘러싸는 것 같은 2 개(살) 이상의 서브 패스에 분할되는 일이 있습니다.
Area
는, 원의 윤곽선이 단순하고 명확해도, 많은 패스 세그먼트(segment)를 사용해 같은 기하학적 도형을 기술하는 일이 있습니다. Area
클래스가 패스상에서 실행할 필요가 있는 분석은, 사람이 생각하는 「단순해 명확」이라고 하는 개념과 같은 개념을 반영하고 있다고는인가 선.
생성자 의 개요 | |
---|---|
Area ()
빈 상태(empty)의 영역을 작성하는 디폴트 생성자 입니다. |
|
Area (Shape s)
Area 클래스는, 지정된 Shape 객체로부터 영역 기하학적 도형을 작성합니다. |
메소드의 개요 | |
---|---|
void |
add (Area rhs)
지정된 Area 의 형상을 이 Area 의 형상에 추가합니다. |
Object |
clone ()
이 Area 객체와 완전히 같은 카피를 돌려줍니다. |
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 를 완전하게 내포 할지 어떨지를 판정합니다. |
Area |
createTransformedArea (AffineTransform t)
지정된 AffineTransform 에 의해 변환된 이 Area 와 같은 기하학적 도형을 포함한, 새로운 Area 객체를 작성합니다. |
boolean |
equals (Area other)
2 개의 Area 객체의 기하학적 도형이 동일한지 어떤지를 판정합니다. |
void |
exclusiveOr (Area rhs)
이 Area 의 형상을, 현재의 형상과 지정된 Area 의 형상의 결합 영역으로부터 그 공통 부분을 공제한 영역으로 설정합니다. |
Rectangle |
getBounds ()
이 Area 를 완전하게 둘러싸는 바운딘그 Rectangle 를 돌려줍니다. |
Rectangle2D |
getBounds2D ()
이 Area 를 완전하게 둘러싸는 고정밀도 바운딘그 Rectangle2D 를 돌려줍니다. |
PathIterator |
getPathIterator (AffineTransform at)
이 Area 객체의 윤곽에 사용하는 PathIterator 를 작성합니다. |
PathIterator |
getPathIterator (AffineTransform at,
double flatness)
이 Area 객체의 평탄화한 윤곽을 위한 PathIterator 를 작성합니다. |
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 로부터 기하학적 도형을 모두 삭제해, 빈 상태(empty)의 영역에 되돌립니다. |
void |
subtract (Area rhs)
지정된 Area 의 형상을 이 Area 의 형상으로부터 제거합니다. |
void |
transform (AffineTransform t)
이 Area 의 기하학적 도형을, 지정된 AffineTransform 를 사용해 변환합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
public Area()
public Area(Shape s)
Area
클래스는, 지정된 Shape
객체로부터 영역 기하학적 도형을 작성합니다. Shape
가 닫지 않으면, 기하학적 도형은 명시적으로 닫혀집니다. Shape
의 기하학적 도형으로 지정되고 있는 전부 칠해 규칙 (우기 또는 굴곡)을 사용하면(자), 결과적으로 생성되는 닫은 영역을 지정할 수 있습니다.
s
- 영역의 작성측의 Shape
NullPointerException
- s
가 null 의 경우메소드의 상세 |
---|
public void add(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.add(a2); a1(before) + a2 = a1(after) ################ ################ ################ ############## ############## ################ ############ ############ ################ ########## ########## ################ ######## ######## ################ ###### ###### ###### ###### #### #### #### #### ## ## ## ##
rhs
- 현재의 형상에 추가된다
Area
NullPointerException
- rhs
가 null 의 경우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
가 null 의 경우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
가 null 의 경우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
와의 배타적 논리합을 요구한다
Area
NullPointerException
- rhs
가 null 의 경우public void reset()
Area
로부터 기하학적 도형을 모두 삭제해, 빈 상태(empty)의 영역에 되돌립니다.
public boolean isEmpty()
Area
객체가 영역을 둘러쌀지 어떨지를 판정합니다.
Area
객체가 빈 상태(empty)의 영역을 나타내는 경우는
true
, 그렇지 않은 경우는 false
public boolean isPolygonal()
Area
가 완전하게, 옆이 직선의 다각형 기하학적 도형으로부터 구성되어 있는지 어떤지를 판정합니다.
Area
의 기하학적 도형이 완전하게 선세그먼트(segment)로부터
구성되어 있는 경우는 true
,
그렇지 않은 경우는 false
public boolean isRectangular()
Area
의 형상이 구형인가 어떤가를 판정합니다.
Area
의 기하학적 도형의 형상이 구형의 경우는
true
, 그렇지 않은 경우는
false
public boolean isSingular()
Area
가 단일의 폐쇄 서브 패스로부터 구성되어 있는지 어떤지를 판정합니다. 이 메소드는, 패스가 서브 패스를 0 또는 1 개(살) 포함한 경우는 true
, 패스가 2 개 이상의 서브 패스를 포함한 경우는 false
를 돌려줍니다. 서브 패스는, 패스에 나타나는 SEG_MOVETO
세그먼트(segment)의 수에 의해 셀 수 있습니다.
Area
가 1 개의 기본 기하학적 도형으로부터 구성되어 있는 경우는
true
, 그렇지 않은 경우는 false
public Rectangle2D getBounds2D()
Area
를 완전하게 둘러싸는 고정밀도 바운딘그 Rectangle2D
를 돌려줍니다. Area 클래스는 그 Shape 로 할 수 있을 뿐(만큼) 딱 한 바운딩 박스를 돌려주려고 합니다. 바운딩 박스는 Shape 의 윤곽의 커브의 제어점을 포함하도록(듯이)는 패딩 되지 않고, 윤곽 자체의 실제의 기하학적 도형에 딱 맞는 크기가 됩니다.
Shape
내의 getBounds2D
Area
의 바운딘그
Rectangle2D
Shape.getBounds()
public Rectangle getBounds()
Area
를 완전하게 둘러싸는 바운딘그 Rectangle
를 돌려줍니다. Area 클래스는 그 Shape 로 할 수 있을 뿐(만큼) 딱 한 바운딩 박스를 돌려주려고 합니다. 바운딩 박스는 Shape 의 윤곽의 커브의 제어점을 포함하도록(듯이)는 패딩 되지 않고, 윤곽 자체의 실제의 기하학적 도형에 딱 맞는 크기가 됩니다. 반환된 객체는 정수로 바운딩 박스를 나타내므로, 바운딩 박스는, Shape 의 기하학적 도형을 둘러싸는 가장 가까운 정수 좌표라고 하는 레벨에서의 일치가 됩니다.
Shape
내의 getBounds
Area
의 바운딘그
Rectangle
Shape.getBounds2D()
public Object clone()
Area
객체와 완전히 같은 카피를 돌려줍니다.
Object
내의 clone
Cloneable
public boolean equals(Area other)
Area
객체의 기하학적 도형이 동일한지 어떤지를 판정합니다. 인수가 null 의 경우, 이 메소드는 false 를 돌려줍니다.
other
- 이 Area
라고 비교된다
Area
true
,
그렇지 않은 경우는 false
public void transform(AffineTransform t)
Area
의 기하학적 도형을, 지정된 AffineTransform
를 사용해 변환합니다. 기하학적 도형이 적절히 변환되어 이것에 의해, 이 객체에 의해 정의되고 있는 닫은 영역이 영구적으로 변경됩니다.
t
- 영역을 변환하는데 사용하는 변환
NullPointerException
- t
가 null 의 경우public Area createTransformedArea(AffineTransform t)
AffineTransform
에 의해 변환된 이 Area
와 같은 기하학적 도형을 포함한, 새로운 Area
객체를 작성합니다. 이 Area
객체는 변화하지 않습니다.
t
- 새로운 Area
의 변환에 사용하는,
지정된 AffineTransform
Area
객체
NullPointerException
- t
가 null 의 경우public boolean contains(double x, double y)
Shape
의 경계내에 있을지 어떨지를 판정합니다.
Shape
내의 contains
x
- 판정 대상의 지정된 X 좌표y
- 판정 대상의 지정된 Y 좌표
Shape
의
경계내에 있는 경우는 true
, 그렇지 않은 경우는
false
public boolean contains(Point2D p)
Point2D
가 Shape
의 경계내에 있을지 어떨지를 판정합니다.
Shape
내의 contains
p
- 판정 대상의, 지정된 Point2D
Point2D
가 Shape
의
경계내에 있는 경우는 true
,
그렇지 않은 경우는 false
public boolean contains(double x, double y, double w, double h)
Shape
의 내부 영역이, 지정된 구형 영역을 완전하게 포함 할지 어떨지를 판정합니다. 구형 영역 전체가 Shape
에 포함 되고 있다고 보여지기 위해서(때문에)는, 구형 영역내에 있는 모든 좌표가 Shape
내에 위치하고 있을 필요가 있습니다.
Shape.contains()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 false
를 돌려주는 일이 있습니다.
intersect
메소드가 true
를 돌려주어,
Shape
가 구형 영역을 완전하게 포함 할지 어떨지를 판별하는 계산의 부하가 꽤 크다
Shape
에 따라서는,Shape
가 구형 영역을 포함 하는 경우에서도 이 메소드가 false
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
Shape
내의 contains
x
- 지정된 구형 영역의
좌상구석의 X 좌표y
- 지정된 구형 영역의
좌상구석의 Y 좌표w
- 지정된 구형 영역의 폭h
- 지정된 구형 영역의 높이
Shape
의 내부 영역이, 지정된 구형 영역을
완전하게 포함 하는 경우는 true
,
그렇지 않은 경우는 false
.
또,Shape
가 구형 영역을 포함 해,
intersects
메소드가 true
를 돌려주어,
부하가 너무 커 포함의 계산을 실시할 수 없는 경우도
false
Area
,
Shape.intersects(double, double, double, double)
public boolean contains(Rectangle2D r)
Shape
의 내부가, 지정된 Rectangle2D
를 완전하게 내포 할지 어떨지를 판정합니다. Shape.contains()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 false
를 돌려주는 일이 있습니다.
intersect
메소드가 true
를 돌려주어,
Shape
가 Rectangle2D
를 완전하게 포함 할지 어떨지를 판단하는 계산의 부하가 크다
Shape
에 따라서는,Shape
가 Rectangle2D
를 포함 하는 경우에서도 이 메소드가 false
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
Shape
내의 contains
r
- 지정된 Rectangle2D
Shape
의 내부 영역이,Rectangle2D
를
완전하게 포함 하는 경우는 true
,
그렇지 않은 경우는 false
.
또,Shape
가 Rectangle2D
를 포함 해,
intersects
메소드가 true
를 돌려주어,
부하가 너무 커 포함의 계산을 실시할 수 없는 경우도
false
Shape.contains(double, double, double, double)
public boolean intersects(double x, double y, double w, double h)
Shape
의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다. Shape
의 내부 영역과 지정된 구형 영역의 양쪽 모두에 포함되는 점이 있는 경우, 구형 영역은 Shape
와 교차하고 있다고 보여집니다.
Shape.intersects()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 true
를 돌려주는 일이 있습니다.
Shape
가 서로 겹치고 있을 가능성이 꽤 높지만,
Shape
에 따라서는, 구형 영역이 Shape
와 교차하지 않는 경우에서도 이 메소드가 true
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
Shape
내의 intersects
x
- 지정된 구형 영역의
좌상구석의 X 좌표y
- 지정된 구형 영역의
좌상구석의 Y 좌표w
- 지정된 구형 영역의 폭h
- 지정된 구형 영역의 높이
Shape
의 내부 영역과 구형 영역의 내부 영역이 교차하는 경우,
또는 교차할 가능성이 높지만, 부하가 너무 커
공통 부분의 계산을 실시할 수 없는 경우도 true
,
그렇지 않은 경우는 false
Area
public boolean intersects(Rectangle2D r)
Shape
의 내부가, 지정된 Rectangle2D
의 내부와 교차할지 어떨지를 판정합니다. Shape.intersects()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 true
를 돌려주는 일이 있습니다.
Rectangle2D
와 Shape
가 교차할 가능성이 높지만,
Shape
에 따라서는,Rectangle2D
가 Shape
와 교차하지 않는 경우에서도 이 메소드가 true
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
Shape
내의 intersects
r
- 지정된 Rectangle2D
Shape
의 내부 영역과
지정된 Rectangle2D
의 내부 영역이 교차하는 경우,
또는 교차할 가능성이 높지만, 부하가 너무 커
공통 부분의 계산을 실시할 수 없는 경우도 true
,
그렇지 않은 경우는 false
Shape.intersects(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at)
Area
객체의 윤곽에 사용하는 PathIterator
를 작성합니다. 이 Area
객체는 변화하지 않습니다.
Shape
내의 getPathIterator
at
- 반복 처리로 돌려주어질 때 좌표에 적용된다
옵션의 AffineTransform
,
변환되어 있지 않은 좌표가 필요한 경우는 null
Area
의 윤곽의 기하학적 도형을
한 번에 1 세그먼트(segment)씩 돌려주는 PathIterator
객체public PathIterator getPathIterator(AffineTransform at, double flatness)
Area
객체의 평탄화한 윤곽을 위한 PathIterator
를 작성합니다. SEG_MOVETO, SEG_LINETO, SEG_CLOSE 의 3 종류의 점에 의해 표현되는 곡선상이 아닌 패스 세그먼트(segment)만이, 반복자에 의해 돌려주어집니다. 이 Area
객체는 변화하지 않습니다.
Shape
내의 getPathIterator
at
- 반복 처리로 돌려주어질 때 좌표에 적용된다
옵션의 AffineTransform
.
변환되어 있지 않은 좌표가 필요한 경우는
null
flatness
- 분할된 곡선이 종점을 묶는 직선에 의해
치환되기 전에, 지정된 곡선의 제어점이
공선으로부터 빗나갈 수 있는 최대 거리
Area
의 윤곽의 기하학적 도형을
한 번에 1 세그먼트(segment)씩 돌려주는 PathIterator
객체
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.