|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.Polygon
public class Polygon
Polygon
클래스는, 좌표 공간을 가지는 닫혀진 2 차원 영역의 기술을 캡슐화합니다. 이 영역은, 다각형의 1 옆을 이루는 선세그먼트(segment)의 임의의 수에 의해 경계를 단락지어집니다. 내부적으로는, 다각형은 (x, y)
좌표 페어의 리스트로부터 구성됩니다. 이 경우, 각 페어는 다각형의 「정점」을 정의해, 연속하는 2 개의 페어는 다각형의 1 옆을 이루는 선의 단 점이 됩니다. (x, y)
점의 최초와 마지막 페어는, 다각형을 닫는 선세그먼트(segment)에 의해 결합됩니다. 이 Polygon
는 우기굴곡 규칙에 의해 정의됩니다. 우기굴곡 규칙의 정의에 대해서는,WIND_EVEN_ODD
를 참조해 주세요. contains
,intersects
, 및 inside
메소드를 포함한 이 클래스의 히트 검사 메소드는,Shape
클래스의 코멘트에 기술된 「안쪽」의 정의를 사용합니다.
Shape
,
직렬화 된 형식 필드의 개요 | |
---|---|
protected Rectangle |
bounds
이 Polygon 의 경계입니다. |
int |
npoints
점의 총수입니다. |
int[] |
xpoints
X 좌표의 배열입니다. |
int[] |
ypoints
Y 좌표의 배열입니다. |
생성자 의 개요 | |
---|---|
Polygon ()
빈 상태(empty)의 다각형을 작성합니다. |
|
Polygon (int[] xpoints,
int[] ypoints,
int npoints)
지정된 파라미터로부터 Polygon 를 구축 및 초기화합니다. |
메소드의 개요 | |
---|---|
void |
addPoint (int x,
int y)
이 Polygon 로 지정된 좌표를 추가합니다. |
boolean |
contains (double x,
double y)
지정된 좌표가 Shape 의 경계내에 있을지 어떨지를 판정합니다. |
boolean |
contains (double x,
double y,
double w,
double h)
Shape 의 내부 영역이, 지정된 구형 영역을 완전하게 포함 할지 어떨지를 판정합니다. |
boolean |
contains (int x,
int y)
지정된 좌표가 이 Polygon 의 안쪽에 있을지 어떨지를 판정합니다. |
boolean |
contains (Point p)
지정된 Point 가 이 Polygon 의 안쪽에 있을지 어떨지를 판정합니다. |
boolean |
contains (Point2D p)
지정된 Point2D 가 Shape 의 경계내에 있을지 어떨지를 판정합니다. |
boolean |
contains (Rectangle2D r)
Shape 의 내부가, 지정된 Rectangle2D 를 완전하게 내포 할지 어떨지를 판정합니다. |
Rectangle |
getBoundingBox ()
추천 되고 있지 않습니다. JDK version 1.1 이후는, getBounds() 로 옮겨졌습니다. |
Rectangle |
getBounds ()
이 Polygon 의 바운딩 박스를 돌려줍니다. |
Rectangle2D |
getBounds2D ()
고정밀도로 getBounds 메소드보다 정밀한,Shape 의 바운딩 박스를 돌려줍니다. |
PathIterator |
getPathIterator (AffineTransform at)
이 Polygon 의 경계를 따라 반복 처리를 실시해,Polygon 의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다. |
PathIterator |
getPathIterator (AffineTransform at,
double flatness)
Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다. |
boolean |
inside (int x,
int y)
추천 되고 있지 않습니다. JDK version 1.1 이후는, contains(int, int) 로 옮겨졌습니다. |
boolean |
intersects (double x,
double y,
double w,
double h)
Shape 의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다. |
boolean |
intersects (Rectangle2D r)
Shape 의 내부가, 지정된 Rectangle2D 의 내부와 교차할지 어떨지를 판정합니다. |
void |
invalidate ()
이 Polygon 의 정점의 좌표에 의존하는 내부에 캐쉬된 모든 데이터를 무효로 하는지, 또는 플래시 합니다. |
void |
reset ()
이 Polygon 객체를 빈 상태(empty)의 다각형에 리셋 합니다. |
void |
translate (int deltaX,
int deltaY)
Polygon 의 정점을 x 축으로 따라 deltaX , 및 y 축으로 따라 deltaY 이동합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
필드의 상세 |
---|
public int npoints
npoints
의 값은 이 Polygon
의 유효한 점의 수를 나타내,xpoints
또는 ypoints
의 요소의 수보다 작아집니다. 이 값은 null 를 취할 수가 있습니다.
addPoint(int, int)
public int[] xpoints
Polygon
의 X 좌표의 수보다 커집니다. 여분의 요소에 의해, 이 배열을 재차 작성하지 않고 , 이 Polygon
에 새로운 점을 추가할 수 있습니다. npoints
의 값은, 이 Polygon
의 유효한 점의 수와 같습니다.
addPoint(int, int)
public int[] ypoints
Polygon
의 Y 좌표의 수보다 커집니다. 여분의 요소에 의해, 이 배열을 재차 작성하지 않고 , 이 Polygon
에 새로운 점을 추가할 수 있습니다. npoints
의 값은, 이 Polygon
의 유효한 점의 수와 같습니다.
addPoint(int, int)
protected Rectangle bounds
Polygon
의 경계입니다. null 도 사용할 수 있습니다.
getBoundingBox()
,
getBounds()
생성자 의 상세 |
---|
public Polygon()
public Polygon(int[] xpoints, int[] ypoints, int npoints)
Polygon
를 구축 및 초기화합니다.
xpoints
- X 좌표의 배열ypoints
- Y 좌표의 배열npoints
- Polygon
의 점의
총수
NegativeArraySizeException
- npoints
의 값이
부의 경우
IndexOutOfBoundsException
- npoints
가
xpoints
의 길이 또는
ypoints
의 길이보다 큰 경우
NullPointerException
- xpoints
또는
ypoints
가 null
의 경우메소드의 상세 |
---|
public void reset()
Polygon
객체를 빈 상태(empty)의 다각형에 리셋 합니다. 그 중에 있는 좌표 배열과 데이터는 그대로 남습니다만, 점의 수는 제로에 리셋 되어 낡은 정점의 데이터를 무효로서 마크 해, 최초부터 새로운 정점의 데이터의 축적을 개시합니다. 내부에 캐쉬된 모든 낡은 정점으로 관한 데이터는 파기됩니다. 리셋 하기 전의 좌표 배열이 재사용되므로, 새로운 다각형의 데이터의 정점의 수가 리셋전의 데이터의 정점의 수보다 꽤 작은 경우는, 새로운 빈 상태(empty)의 Polygon
의 작성이 현재의 다각형을 리셋 하는 것보다도 메모리를 보다 효율적으로 사용할 수 있는 것에 주의해 주세요.
invalidate()
public void invalidate()
Polygon
의 정점의 좌표에 의존하는 내부에 캐쉬된 모든 데이터를 무효로 하는지, 또는 플래시 합니다. 이 메소드는,xpoints
또는 ypoints
배열의 좌표를 직접 조작한 뒤에 호출할 필요가 있습니다. 이것은, 정점의 좌표에 관련하기 이전의 계산으로부터 데이터를 캐쉬하고 있는 getBounds
또는 contains
등의 메소드로부터 일관한 결과를 얻을 수 있도록(듯이) 하기 (위해)때문에입니다.
getBounds()
public void translate(int deltaX, int deltaY)
Polygon
의 정점을 x 축으로 따라 deltaX
, 및 y 축으로 따라 deltaY
이동합니다.
deltaX
- X 축으로 따라 이동하는 거리deltaY
- Y 축으로 따라 이동하는 거리public void addPoint(int x, int y)
Polygon
로 지정된 좌표를 추가합니다.
이 Polygon
의 바운딩 박스를 계산하는 getBounds
또는 contains
등의 연산이 벌써 실행되고 있는 경우, 이 메소드는 바운딩 박스를 갱신합니다.
x
- 지정된 X 좌표y
- 지정된 Y 좌표getBounds()
,
contains(java.awt.Point)
public Rectangle getBounds()
Polygon
의 바운딩 박스를 돌려줍니다. 이 바운딩 박스는 옆이 좌표 공간의 x 축 및 y 축으로 평행으로 Polygon
를 완전하게 포함하는 최소 Rectangle
입니다.
Shape
내의 getBounds
Polygon
의 경계를 정의한다
Rectangle
Shape.getBounds2D()
@Deprecated public Rectangle getBoundingBox()
getBounds()
로 옮겨졌습니다.
Polygon
의 경계를 돌려줍니다.
Polygon
의 경계public boolean contains(Point p)
Point
가 이 Polygon
의 안쪽에 있을지 어떨지를 판정합니다.
p
- 판정 대상의, 지정된 Point
Polygon
에 Point
가 포함되는 경우는
true
, 그렇지 않은 경우는 false
contains(double, double)
public boolean contains(int x, int y)
Polygon
의 안쪽에 있을지 어떨지를 판정합니다.
x
- 판정 대상의 지정된 X 좌표y
- 판정 대상의 지정된 Y 좌표
Polygon
로 지정된 좌표 (x, y)
가
포함되는 경우는 true
,
그렇지 않은 경우는 false
contains(double, double)
@Deprecated public boolean inside(int x, int y)
contains(int, int)
로 옮겨졌습니다.
Polygon
에 내포 되고 있는지 어떤지를 판정합니다.
x
- 판정 대상의 지정된 X 좌표y
- 판정 대상의 지정된 Y 좌표
Polygon
로 지정된 좌표 (x, y)
가
포함되는 경우는 true
,
그렇지 않은 경우는 false
contains(double, double)
public Rectangle2D getBounds2D()
getBounds
메소드보다 정밀한,Shape
의 바운딩 박스를 돌려줍니다. 반환된 Rectangle2D
가 Shape
를 둘러싸는 최소의 바운딩 박스이다고는 할 수 없습니다. 나타난 Rectangle2D
내에 Shape
가 완전하게 수습된다고 할 뿐입니다. 반환값을, 배정밀도치를 사용해 치수를 포함하는 Rectangle2D
의 인스턴스로 할 수도 있기 (위해)때문에, 이 메소드에 의해 반환되는 바운딩 박스는, 일반적으로,getBounds
메소드에 의해 반환되는 바운딩 박스보다 딱 한 것이 되어, 오버플로우를 위해서(때문에) 실패할 것은 없습니다.
Shape
내의 getBounds2D
Shape
의 고정밀도 바운딩 박스를 나타낸다
Rectangle2D
의 인스턴스Shape.getBounds()
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 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 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 PathIterator getPathIterator(AffineTransform at)
Polygon
의 경계를 따라 반복 처리를 실시해,Polygon
의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다. 임의로 AffineTransform
를 지정할 수 있어 그 경우는 반복 처리로 반환되는 좌표는 거기에 응해 변환됩니다.
Shape
내의 getPathIterator
at
- 반복 처리로 돌려주어질 때 좌표에 적용된다
옵션의 AffineTransform
,
변환되어 있지 않은 좌표가 필요한 경우는 null
Polygon
의 기하학적 도형에의 액세스를 제공한다
PathIterator
객체public PathIterator getPathIterator(AffineTransform at, double flatness)
Shape
의 경계를 따라 반복 처리를 실시해,Shape
의 윤곽의 기하학적 도형에의 액세스를 제공하는 반복자 객체를 돌려줍니다. 반복자가 돌려주는 것은, 포인트형 SEG_MOVETO, SEG_LINETO, 및 SEG_CLOSE 뿐입니다. 다각형은 벌써 평탄하기 때문에,flatness
파라미터는 무시됩니다. 옵션의 AffineTransform
는, 반복 처리로 반환되는 좌표가 거기에 응해 변환되는 경우로 지정할 수가 있습니다.
Shape
내의 getPathIterator
at
- 반복 처리로 돌려주어질 때 좌표에 적용된다
옵션의 AffineTransform
,
변환되어 있지 않은 좌표가 필요한 경우는 null
flatness
- 분할된 곡선이 종점을 묶는 직선에 의해
치환되기 전에, 지정된 곡선의 제어점이
공선으로부터 빗나갈 수 있다
최대 거리. 다각형은 벌써 평탄하기 때문에,
flatness
파라미터는 무시된다
Shape
객체의 기하학적 도형에의
액세스를 제공하는 PathIterator
객체
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.