|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
public interface Shape
Shape
인터페이스는, 하등의 기하학적인 형태를 나타내는 객체의 정의를 제공합니다. Shape
는,Shape
의 윤곽과 윤곽이 어떻게 2D 평면을 내부 영역의 점과 외부 영역의 점과에 분할할까를 결정하는 규칙을 나타낼 수가 있는 PathIterator
객체에 의해 기술됩니다. 각 Shape
객체는, 기하학적 도형의 바운딩 박스를 취득하거나 점 또는 구형의 일부 또는 전체가 Shape
의 내부 영역내에 있을지 어떨지를 판정하거나Shape
의 윤곽의 궤도 윤곽선을 기술하는 PathIterator
객체를 취득하거나하기 위한 콜백을 제공합니다.
안쪽의 정의: 점은, 다음과 같은 경우에만 Shape
의 안쪽에 있다고 보여집니다.
Shape
의 경계의 완전하게 안쪽에 있는 경우
Shape
의 경계선상에 위치해, 그 점에 인접하는,X
축방향의 플러스 측에 있는 스페이스가 완전하게 경계내에 들어가는 경우
Y
축방향의 플러스 측에 있는 스페이스가 경계내에 들어가는 경우
contains
와 intersects
메소드는,Shape
의 내부가 전부 칠해져 있는 것과 같게 닫혀진 영역이라고 봅니다. 즉, 형상이 구형을 포함하고 있는지, 구형과 교차하고 있든가, 혹은 형상이 점을 포함하고 있는지를 판정하기 위해서, 이러한 메소드가, 닫혀지지 않은 형상을 닫혀지고 있는 것과 암묵적으로 보는 것을 의미합니다.
PathIterator
,
AffineTransform
,
FlatteningPathIterator
,
GeneralPath
메소드의 개요 | |
---|---|
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 를 완전하게 내포 할지 어떨지를 판정합니다. |
Rectangle |
getBounds ()
Shape 를 완전하게 둘러싸는 정수형 Rectangle 를 돌려줍니다. |
Rectangle2D |
getBounds2D ()
고정밀도로 getBounds 메소드보다 정밀한,Shape 의 바운딩 박스를 돌려줍니다. |
PathIterator |
getPathIterator (AffineTransform at)
Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다. |
PathIterator |
getPathIterator (AffineTransform at,
double flatness)
Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형의 평탄화 된 뷰에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다. |
boolean |
intersects (double x,
double y,
double w,
double h)
Shape 의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다. |
boolean |
intersects (Rectangle2D r)
Shape 의 내부가, 지정된 Rectangle2D 의 내부와 교차할지 어떨지를 판정합니다. |
메소드의 상세 |
---|
Rectangle getBounds()
Shape
를 완전하게 둘러싸는 정수형 Rectangle
를 돌려줍니다. 반환된 Rectangle
가 Shape
를 둘러싸는 최소의 바운딩 박스이다고는 할 수 없습니다. 나타난 Rectangle
내에 Shape
가 완전하게 수습된다고 할 뿐입니다. 또,Shape
가 정수형의 제한 범위를 넘는 경우, 반환된 Rectangle
는 Shape
를 완전하게 둘러싸지 못하는 것도 있습니다. 일반적으로은,getBounds2D
메소드가, 표현의 자유도가 높기 위해(때문에), 비교적 딱 한 바운딩 박스를 돌려줍니다.
Shape
를 완전하게 둘러싸는 정수형의
Rectangle
getBounds2D()
Rectangle2D getBounds2D()
getBounds
메소드보다 정밀한,Shape
의 바운딩 박스를 돌려줍니다. 반환된 Rectangle2D
가 Shape
를 둘러싸는 최소의 바운딩 박스이다고는 할 수 없습니다. 나타난 Rectangle2D
내에 Shape
가 완전하게 수습된다고 할 뿐입니다. 반환값을, 배정밀도치를 사용해 치수를 포함하는 Rectangle2D
의 인스턴스로 할 수도 있기 (위해)때문에, 이 메소드에 의해 반환되는 바운딩 박스는, 일반적으로,getBounds
메소드에 의해 반환되는 바운딩 박스보다 딱 한 것이 되어, 오버플로우를 위해서(때문에) 실패할 것은 없습니다.
Shape
의 고정밀도 바운딩 박스를 나타낸다
Rectangle2D
의 인스턴스getBounds()
boolean contains(double x, double y)
Shape
의 경계내에 있을지 어떨지를 판정합니다.
x
- 판정 대상의 지정된 X 좌표y
- 판정 대상의 지정된 Y 좌표
Shape
의
경계내에 있는 경우는 true
, 그렇지 않은 경우는
false
boolean contains(Point2D p)
Point2D
가 Shape
의 경계내에 있을지 어떨지를 판정합니다.
p
- 판정 대상의, 지정된 Point2D
Point2D
가 Shape
의
경계내에 있는 경우는 true
,
그렇지 않은 경우는 false
boolean intersects(double x, double y, double w, double h)
Shape
의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다. Shape
의 내부 영역과 지정된 구형 영역의 양쪽 모두에 포함되는 점이 있는 경우, 구형 영역은 Shape
와 교차하고 있다고 보여집니다.
Shape.intersects()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 true
를 돌려주는 일이 있습니다.
Shape
가 서로 겹치고 있을 가능성이 꽤 높지만,
Shape
에 따라서는, 구형 영역이 Shape
와 교차하지 않는 경우에서도 이 메소드가 true
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
x
- 지정된 구형 영역의
좌상구석의 X 좌표y
- 지정된 구형 영역의
좌상구석의 Y 좌표w
- 지정된 구형 영역의 폭h
- 지정된 구형 영역의 높이
Shape
의 내부 영역과 구형 영역의 내부 영역이 교차하는 경우,
또는 교차할 가능성이 높지만, 부하가 너무 커
공통 부분의 계산을 실시할 수 없는 경우도 true
,
그렇지 않은 경우는 false
Area
boolean intersects(Rectangle2D r)
Shape
의 내부가, 지정된 Rectangle2D
의 내부와 교차할지 어떨지를 판정합니다. Shape.intersects()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 true
를 돌려주는 일이 있습니다.
Rectangle2D
와 Shape
가 교차할 가능성이 높지만,
Shape
에 따라서는,Rectangle2D
가 Shape
와 교차하지 않는 경우에서도 이 메소드가 true
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
r
- 지정된 Rectangle2D
Shape
의 내부 영역과
지정된 Rectangle2D
의 내부 영역이 교차하는 경우,
또는 교차할 가능성이 높지만, 부하가 너무 커
공통 부분의 계산을 실시할 수 없는 경우도 true
,
그렇지 않은 경우는 false
intersects(double, double, double, double)
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
객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
x
- 지정된 구형 영역의
좌상구석의 X 좌표y
- 지정된 구형 영역의
좌상구석의 Y 좌표w
- 지정된 구형 영역의 폭h
- 지정된 구형 영역의 높이
Shape
의 내부 영역이, 지정된 구형 영역을
완전하게 포함 하는 경우는 true
,
그렇지 않은 경우는 false
.
또,Shape
가 구형 영역을 포함 해,
intersects
메소드가 true
를 돌려주어,
부하가 너무 커 포함의 계산을 실시할 수 없는 경우도
false
Area
,
intersects(double, double, double, double)
boolean contains(Rectangle2D r)
Shape
의 내부가, 지정된 Rectangle2D
를 완전하게 내포 할지 어떨지를 판정합니다. Shape.contains()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 false
를 돌려주는 일이 있습니다.
intersect
메소드가 true
를 돌려주어,
Shape
가 Rectangle2D
를 완전하게 포함 할지 어떨지를 판단하는 계산의 부하가 크다
Shape
에 따라서는,Shape
가 Rectangle2D
를 포함 하는 경우에서도 이 메소드가 false
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
r
- 지정된 Rectangle2D
Shape
의 내부 영역이,Rectangle2D
를
완전하게 포함 하는 경우는 true
,
그렇지 않은 경우는 false
.
또,Shape
가 Rectangle2D
를 포함 해,
intersects
메소드가 true
를 돌려주어,
부하가 너무 커 포함의 계산을 실시할 수 없는 경우도
false
contains(double, double, double, double)
PathIterator getPathIterator(AffineTransform at)
Shape
의 경계를 따라 반복 처리를 실시해,Shape
의 윤곽의 기하학적 도형에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다. 임의 AffineTransform
가 지정되었을 경우, 반복 처리로 반환되는 좌표가 거기에 응해 변환됩니다.
이 메소드를 호출할 때마다, 동시에 사용되고 있는 것 외의 모든 PathIterator
객체 (와)는 관계없는 것으로,Shape
객체의 기하학적 도형을 이동하는 새로운 PathIterator
객체가 돌려주어집니다.
Shape
인터페이스를 구현하는 객체는, 실행중의 반복 처리를 원의 객체의 기하학적 도형에 대해서 발생할 가능성이 있는 변경으로부터 분리시키는 것이 추천 됩니다만, 이것은 보증되고는 있지 않습니다.
at
- 반복 처리로 돌려주어질 때 좌표에 적용된다
임의의 AffineTransform
,
변환되어 있지 않은 좌표가 필요한 경우는 null
Shape
의 기하학적 도형을 독립해 이동한다
새로운 PathIterator
객체PathIterator getPathIterator(AffineTransform at, double flatness)
Shape
의 경계를 따라 반복 처리를 실시해,Shape
의 윤곽의 기하학적 도형의 평탄화 된 뷰에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다. 반복자가 돌려주는 것은, 포인트형 SEG_MOVETO, SEG_LINETO, 및 SEG_CLOSE 뿐입니다.
옵션의 AffineTransform
가 지정되면(자), 반복 처리로 반환되는 좌표가 거기에 응해 변환됩니다.
곡선 세그먼트(segment)의 분할의 양은, 평탄화 되지 않는 변환을 받은 곡선상의 점이, 반환되는 평탄화 된 패스 세그먼트(segment)로부터도 와도 떨어지는 거리를 지정하는 flatness
파라미터에 의해 제어됩니다. 평탄화 된 윤곽선의 정밀도에 대해서 예고없이 제한이 더해지는 일이 있어, 이 경우, 매우 작은 평탄화 파라미터가 큰 값으로 해서 다루어지는 일이 있습니다. 이 제한은, 사용되는 특정의 구현에 의해 정해집니다.
이 메소드를 호출할 때마다, 동시에 사용되고 있는 것 외의 모든 PathIterator
객체 (와)는 관계없는 것으로,Shape
객체의 기하학적 도형을 이동하는 새로운 PathIterator
객체가 돌려주어집니다.
Shape
인터페이스를 구현하는 객체는, 실행중의 반복 처리를 원의 객체의 기하학적 도형에 대해서 발생할 가능성이 있는 변경으로부터 분리시키는 것이 추천 됩니다만, 이것은 보증되고는 있지 않습니다.
at
- 반복 처리로 돌려주어질 때 좌표에 적용된다
임의의 AffineTransform
,
변환되어 있지 않은 좌표가 필요한 경우는 null
flatness
- 곡선 세그먼트(segment)를 근사 하기 위해서 사용된다
라인 세그먼트(segment)가, 원의 곡선상의 임의의 점으로부터
떨어질 수가 있는 최대의 거리
Shape
의 기하학적 도형의 평탄화 된 뷰를
독립해 이동하는 새로운 PathIterator
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.