|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.geom.Path2D
public abstract class Path2D
Path2D
클래스는, 단순합니다만 유연성이 있는, 임의의 기하학적 패스를 나타내는 형상을 제공합니다. 이 클래스는, 패스의 모든 세그먼트(segment)형과 굴곡 규칙을 포함한 PathIterator
인터페이스에 의해, 반복 처리 할 수 있는 임의의 패스를 완전하게 나타낼 수가 있는 것 외에Shape
인터페이스의 기본적인 맞아 판정의 메소드를 모두 구현합니다.
부동 소수점 정밀도로 나타내거나 사용하거나 할 수가 있는 데이터를 취급할 때는,Path2D.Float
를 사용합니다. 배정밀도의 정확함 또는 범위를 필요로 하는 데이터에 대해서는 Path2D.Double
를 사용합니다.
Path2D
는, 기하학적 패스의 기본적인 구축 및 관리로 확실히 필요한 기능을 갖추고 있는 것 외에 전술의 인터페이스에 약간의 해석을 더한 것을 구현하고 있습니다. 단순한 당 판정 뿐만이 아니라, 닫은 기하학 마토가타장의 내부를 조작하는 편이 편리한 경우는,Area
클래스를 사용하면(자), 닫은 도형에 특화한 추가 기능을 사용할 수 있습니다. 어느 쪽의 클래스도 공식상은 Shape
인터페이스를 구현하고 있습니다만, 그 목적이 다릅니다. 조합해 사용하는 것으로써, 기하학 마토가타장에 대해서 편리한 관점을 2 개 제공합니다. Path2D
는 주로 패스 세그먼트(segment)에 의해 형성되는 궤적을 취급하는데 대해,Area
는 2D 기하학적 공간이 닫은 영역의 해석이나 조작이 중심입니다.
PathIterator
인터페이스에는, 패스를 구성하는 세그먼트(segment)의 형태와 패스의 안쪽 또는 외측에 있는 영역을 특정하는 방법을 제어하는 굴곡 규칙에 대해, 상세한 설명이 준비되어 있습니다.
상자의 클래스의 개요 | |
---|---|
static class |
Path2D.Double
Double 클래스는, 좌표가 배정밀도 부동 소수점으로써 포함되는 기하학적 패스를 정의합니다. |
static class |
Path2D.Float
Float 클래스는, 좌표가 단정밀도 부동 소수점으로써 포함되는 기하학적 패스를 정의합니다. |
필드의 개요 | |
---|---|
static int |
WIND_EVEN_ODD
패스의 내부를 결정하는 우기굴곡 규칙입니다. |
static int |
WIND_NON_ZERO
패스의 내부를 결정하는 비제로 굴곡 규칙입니다. |
메소드의 개요 | |
---|---|
abstract void |
append (PathIterator pi,
boolean connect)
지정된 PathIterator 객체의 기하학적 도형을 패스에 추가합니다. |
void |
append (Shape s,
boolean connect)
지정된 Shape 객체의 기하학적 도형을 패스에 추가합니다. |
abstract Object |
clone ()
이 객체와 같은 클래스의 새로운 객체를 작성합니다. |
void |
closePath ()
마지막 moveTo 의 좌표까지 직선을 draw 해 현재의 서브 패스를 닫습니다. |
boolean |
contains (double x,
double y)
지정된 좌표가 Shape 의 경계내에 있을지 어떨지를 판정합니다. |
boolean |
contains (double x,
double y,
double w,
double h)
Shape 의 내부 영역이, 지정된 구형 영역을 완전하게 포함 할지 어떨지를 판정합니다. |
static boolean |
contains (PathIterator pi,
double x,
double y)
지정된 좌표가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다. |
static boolean |
contains (PathIterator pi,
double x,
double y,
double w,
double h)
지정된 구형 영역 전체가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다. |
static boolean |
contains (PathIterator pi,
Point2D p)
지정된 Point2D 가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다. |
static boolean |
contains (PathIterator pi,
Rectangle2D r)
지정된 Rectangle2D 전체가 지정된 PathIterator 가 닫은 경계내에 있을지 어떨지를 판정합니다. |
boolean |
contains (Point2D p)
지정된 Point2D 가 Shape 의 경계내에 있을지 어떨지를 판정합니다. |
boolean |
contains (Rectangle2D r)
Shape 의 내부가, 지정된 Rectangle2D 를 완전하게 내포 할지 어떨지를 판정합니다. |
Shape |
createTransformedShape (AffineTransform at)
이 Path2D 의 변환된 뒤의 버젼을 나타내는, 새로운 Shape 를 돌려줍니다. |
abstract void |
curveTo (double x1,
double y1,
double x2,
double y2,
double x3,
double y3)
3 개의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다. |
Rectangle |
getBounds ()
Shape 를 완전하게 둘러싸는 정수형 Rectangle 를 돌려줍니다. |
Point2D |
getCurrentPoint ()
패스의 마지막에 추가된 가장 새로운 좌표를 Point2D 객체로서 돌려줍니다. |
PathIterator |
getPathIterator (AffineTransform at,
double flatness)
Shape 의 경계를 따라 반복 처리를 실시해,Shape 의 윤곽의 기하학적 도형의 평탄화 된 뷰에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다. |
int |
getWindingRule ()
전부 칠해 스타일 굴곡 규칙을 돌려줍니다. |
boolean |
intersects (double x,
double y,
double w,
double h)
Shape 의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다. |
static boolean |
intersects (PathIterator pi,
double x,
double y,
double w,
double h)
지정된 PathIterator 의 내부가, 지정된 구형 좌표 세트의 내부와 교차할지 어떨지를 판정합니다. |
static boolean |
intersects (PathIterator pi,
Rectangle2D r)
지정된 PathIterator 의 내부 영역이 지정된 Rectangle2D 의 내부 영역과 교차할지 어떨지를 판정합니다. |
boolean |
intersects (Rectangle2D r)
Shape 의 내부가, 지정된 Rectangle2D 의 내부와 교차할지 어떨지를 판정합니다. |
abstract void |
lineTo (double x,
double y)
현재의 좌표로부터 배정밀도로 새롭게 지정된 좌표까지 직선을 draw 해 점을 패스에 추가합니다. |
abstract void |
moveTo (double x,
double y)
배정밀도로 지정된 좌표로 이동해 점을 패스에 추가합니다. |
abstract void |
quadTo (double x1,
double y1,
double x2,
double y2)
2 개의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다. |
void |
reset ()
패스를 빈 상태(empty)에 리셋 합니다. |
void |
setWindingRule (int rule)
이 패스의 굴곡 규칙이 지정된 값으로 설정합니다. |
abstract void |
transform (AffineTransform at)
지정된 AffineTransform 를 사용해, 이 패스의 기하학적 도형을 변환합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
인터페이스 java.awt. Shape 로부터 상속된 메소드 |
---|
getBounds2D , getPathIterator |
필드의 상세 |
---|
public static final int WIND_EVEN_ODD
PathIterator.WIND_EVEN_ODD
,
정수 필드치 public static final int WIND_NON_ZERO
PathIterator.WIND_NON_ZERO
,
정수 필드치 메소드의 상세 |
---|
public abstract void moveTo(double x, double y)
x
- 지정된 X 좌표y
- 지정된 Y 좌표public abstract void lineTo(double x, double y)
x
- 지정된 X 좌표y
- 지정된 Y 좌표public abstract void quadTo(double x1, double y1, double x2, double y2)
(x1, y1)
을 2 차 파라메트릭 제어점으로서 사용해, 현재의 좌표와 지정된 좌표 (x2, y2)
를 통과하는 2 차 곡선으로서 draw 합니다. 모든 좌표는, 배정밀도로 지정됩니다.
x1
- 2 차 제어점의 X 좌표y1
- 2 차 제어점의 Y 좌표x2
- 마지막 종점의 X 좌표y2
- 마지막 종점의 Y 좌표public abstract void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
(x1, y1)
및 점 (x2, y2)
을 베쥬 제어점으로서 사용해, 현재의 좌표와 지정된 좌표 (x3, y3)
의 양쪽 모두를 통과하는 베지에곡선으로서 draw 합니다. 모든 좌표는, 배정밀도로 지정됩니다.
x1
- 최초의 베쥬 제어점의 X 좌표y1
- 최초의 베쥬 제어점의 Y 좌표x2
- 2 번째의 베쥬 제어점의 X 좌표y2
- 2 번째의 베쥬 제어점의 Y 좌표x3
- 마지막 종점의 X 좌표y3
- 마지막 종점의 Y 좌표public final void closePath()
moveTo
의 좌표까지 직선을 draw 해 현재의 서브 패스를 닫습니다. 패스가 벌써 닫고 있는 경우, 이 메소드는 효과가 없습니다.
public final void append(Shape s, boolean connect)
Shape
객체의 기하학적 도형을 패스에 추가합니다. 그 새로운 기하학적 도형을 라인 세그먼트(segment)로 기존의 패스 세그먼트(segment)에 접속하는 일도 가능합니다. connect
파라미터가 true
이며, 패스가 빈 상태(empty)이 아닌 경우, 추가된 Shape
의 기하학적 도형의 초기 moveTo
는 lineTo
세그먼트(segment)로 바뀝니다. 그러한 접속 lineTo
세그먼트(segment)의 목적지의 좌표가 현재 열려 있는 서브 패스의 종료 좌표와 일치하는 경우, 세그먼트(segment)는 불필요해서 생략 됩니다. 지정된 Shape
의 굴곡 규칙은 무시되어 추가된 기하학적 도형은 이 패스로 지정된 굴곡 규칙에 제어됩니다.
s
- 이 패스에 기하학적 도형이 추가된다
Shape
connect
- 새로운 기하학적 도형을 기존의 패스에 접속하기 위해서
초기 moveTo
세그먼트(segment)를 lineTo
세그먼트(segment)에
바꿀지 어떨지를 제어하는 boolean 치public abstract void append(PathIterator pi, boolean connect)
PathIterator
객체의 기하학적 도형을 패스에 추가합니다. 그 새로운 기하학적 도형을 라인 세그먼트(segment)로 기존의 패스 세그먼트(segment)에 접속하는 일도 가능합니다. connect
파라미터가 true
이며, 패스가 빈 상태(empty)이 아닌 경우, 추가된 Shape
의 기하학적 도형의 초기 moveTo
는 lineTo
세그먼트(segment)로 바뀝니다. 그러한 접속 lineTo
세그먼트(segment)의 목적지의 좌표가 현재 열려 있는 서브 패스의 종료 좌표와 일치하는 경우, 세그먼트(segment)는 불필요해서 생략 됩니다. 지정된 Shape
의 굴곡 규칙은 무시되어 추가된 기하학적 도형은 이 패스로 지정된 굴곡 규칙에 제어됩니다.
pi
- 이 패스에 기하학적 도형이 추가된다
PathIterator
connect
- 새로운 기하학적 도형을 기존의 패스에 접속하기 위해서
초기 moveTo
세그먼트(segment)를 lineTo
세그먼트(segment)에
바꿀지 어떨지를 제어하는 boolean 치public final int getWindingRule()
WIND_EVEN_ODD
,
WIND_NON_ZERO
,
setWindingRule(int)
public final void setWindingRule(int rule)
rule
- 지정된 굴곡 규칙을 나타낸다
정수
IllegalArgumentException
- 다음의 조건이 성립하는 경우:
rule
가 WIND_EVEN_ODD
에서도
WIND_NON_ZERO
에서도
없는 경우getWindingRule()
public final Point2D getCurrentPoint()
Point2D
객체로서 돌려줍니다.
Point2D
객체,
패스에 점이 없는 경우는 null
public final void reset()
public abstract void transform(AffineTransform at)
AffineTransform
를 사용해, 이 패스의 기하학적 도형을 변환합니다. 기하학적 도형은 적절히 변환되어 이것에 의해, 이 객체에 의해 정의되는 경계가 영구적으로 변경됩니다.
at
- 영역을 변환하는데 사용하는 AffineTransform
public final Shape createTransformedShape(AffineTransform at)
Path2D
의 변환된 뒤의 버젼을 나타내는, 새로운 Shape
를 돌려줍니다. 반환값의 정확한 형태와 좌표의 정밀도는, 이 메소드에서는 지정되지 않습니다. 이 메소드는, 변환된 지오메트리용으로 이 Path2D
가 현재 유지하고 있는 정밀도보다 낮은 정밀도를 포함하지 않는 Shape 를 돌려줍니다만, 보다 높은 정밀도가 포함되지 않는 경우도 있습니다. 결과에서의 정밀도와 스토리지 사이즈의 트레이드 오프가 중요한 경우는, 선택을 명확하게 하기 위해서,Path2D.Float
서브 클래스 및 Path2D.Double
서브 클래스의 간이 생성자 을 사용해 주세요.
at
- 새로운 Shape
를 변환하는데 사용한다
AffineTransform
AffineTransform
로 변환된,
새로운 Shape
public final Rectangle getBounds()
Shape
를 완전하게 둘러싸는 정수형 Rectangle
를 돌려줍니다. 반환된 Rectangle
가 Shape
를 둘러싸는 최소의 바운딩 박스이다고는 할 수 없습니다. 나타난 Rectangle
내에 Shape
가 완전하게 수습된다고 할 뿐입니다. 또,Shape
가 정수형의 제한 범위를 넘는 경우, 반환된 Rectangle
는 Shape
를 완전하게 둘러싸지 못하는 것도 있습니다. 일반적으로은,getBounds2D
메소드가, 표현의 자유도가 높기 위해(때문에), 비교적 딱 한 바운딩 박스를 돌려줍니다.
Shape
내의 getBounds
Shape
를 완전하게 둘러싸는 정수형의
Rectangle
Shape.getBounds2D()
public static boolean contains(PathIterator pi, double x, double y)
PathIterator
가 닫은 경계내에 있을지 어떨지를 판정합니다.
이 메소드는,Shape
인터페이스의 구현자가 Shape.contains(double, double)
메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.
pi
- 지정된 PathIterator
x
- 지정된 X 좌표y
- 지정된 Y 좌표
PathIterator
내에 있는 경우는
true
, 그렇지 않은 경우는 false
public static boolean contains(PathIterator pi, Point2D p)
Point2D
가 지정된 PathIterator
가 닫은 경계내에 있을지 어떨지를 판정합니다.
이 메소드는,Shape
인터페이스의 구현자가 Shape.contains(Point2D)
메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.
pi
- 지정된 PathIterator
p
- 지정된 Point2D
PathIterator
내에 있는 경우는
true
, 그렇지 않은 경우는 false
public final boolean contains(double x, double y)
Shape
의 경계내에 있을지 어떨지를 판정합니다.
Shape
내의 contains
x
- 판정 대상의 지정된 X 좌표y
- 판정 대상의 지정된 Y 좌표
Shape
의
경계내에 있는 경우는 true
, 그렇지 않은 경우는
false
public final boolean contains(Point2D p)
Point2D
가 Shape
의 경계내에 있을지 어떨지를 판정합니다.
Shape
내의 contains
p
- 판정 대상의, 지정된 Point2D
Point2D
가 Shape
의
경계내에 있는 경우는 true
,
그렇지 않은 경우는 false
public static boolean contains(PathIterator pi, double x, double y, double w, double h)
PathIterator
가 닫은 경계내에 있을지 어떨지를 판정합니다.
이 메소드는,Shape
인터페이스의 구현자가 Shape.contains(double, double, double, double)
메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.
이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO
굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
pi
- 지정된 PathIterator
x
- 지정된 X 좌표y
- 지정된 Y 좌표w
- 지정된 구형 영역의 폭h
- 지정된 구형 영역의 높이
PathIterator
가 지정된 구형 영역을 포함한 경우는
true
, 그렇지 않은 경우는 false
public static boolean contains(PathIterator pi, Rectangle2D r)
Rectangle2D
전체가 지정된 PathIterator
가 닫은 경계내에 있을지 어떨지를 판정합니다.
이 메소드는,Shape
인터페이스의 구현자가 Shape.contains(Rectangle2D)
메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.
이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO
굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
pi
- 지정된 PathIterator
r
- 지정된 Rectangle2D
PathIterator
가 지정된 Rectangle2D
를 포함한 경우는
true
, 그렇지 않은 경우는 false
public final 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
객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO
굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
Shape
내의 contains
x
- 지정된 구형 영역의
좌상구석의 X 좌표y
- 지정된 구형 영역의
좌상구석의 Y 좌표w
- 지정된 구형 영역의 폭h
- 지정된 구형 영역의 높이
Shape
의 내부 영역이, 지정된 구형 영역을
완전하게 포함 하는 경우는 true
,
그렇지 않은 경우는 false
.
또,Shape
가 구형 영역을 포함 해,
intersects
메소드가 true
를 돌려주어,
부하가 너무 커 포함의 계산을 실시할 수 없는 경우도
false
Area
,
Shape.intersects(double, double, double, double)
public final boolean contains(Rectangle2D r)
Shape
의 내부가, 지정된 Rectangle2D
를 완전하게 내포 할지 어떨지를 판정합니다. Shape.contains()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 false
를 돌려주는 일이 있습니다.
intersect
메소드가 true
를 돌려주어,
Shape
가 Rectangle2D
를 완전하게 포함 할지 어떨지를 판단하는 계산의 부하가 크다
Shape
에 따라서는,Shape
가 Rectangle2D
를 포함 하는 경우에서도 이 메소드가 false
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 것보다 정밀한 기하학적 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다.
이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, false 를 돌려주는 일이 있습니다. 그러한 세그먼트(segment)가 WIND_NON_ZERO
굴곡 규칙을 가지는 패스의 일부인 경우, 또는 세그먼트(segment) 세트간에 외부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)가 역방향으로 재트레이스 되는 경우, 세그먼트(segment)는 완전하게 패스의 내부 영역 측에 있을 가능성이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
Shape
내의 contains
r
- 지정된 Rectangle2D
Shape
의 내부 영역이,Rectangle2D
를
완전하게 포함 하는 경우는 true
,
그렇지 않은 경우는 false
.
또,Shape
가 Rectangle2D
를 포함 해,
intersects
메소드가 true
를 돌려주어,
부하가 너무 커 포함의 계산을 실시할 수 없는 경우도
false
Shape.contains(double, double, double, double)
public static boolean intersects(PathIterator pi, double x, double y, double w, double h)
PathIterator
의 내부가, 지정된 구형 좌표 세트의 내부와 교차할지 어떨지를 판정합니다.
이 메소드는,Shape
인터페이스의 구현자가 Shape.intersects(double, double, double, double)
메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.
이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
pi
- 지정된 PathIterator
x
- 지정된 X 좌표y
- 지정된 Y 좌표w
- 지정된 구형 좌표의 폭h
- 지정된 구형 좌표의 높이
PathIterator
와 지정된 구형 좌표 세트의
내부 영역이 교차하는 경우는 true
,
그렇지 않은 경우는 false
public static boolean intersects(PathIterator pi, Rectangle2D r)
PathIterator
의 내부 영역이 지정된 Rectangle2D
의 내부 영역과 교차할지 어떨지를 판정합니다.
이 메소드는,Shape
인터페이스의 구현자가 Shape.intersects(Rectangle2D)
메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.
이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
pi
- 지정된 PathIterator
r
- 지정된 Rectangle2D
PathIterator
와 지정된 Rectangle2D
의
내부 영역이 교차하는 경우는 true
,
그렇지 않은 경우는 false
public final boolean intersects(double x, double y, double w, double h)
Shape
의 내부 영역이, 지정된 구형 영역의 내부 영역과 교차할지 어떨지를 판정합니다. Shape
의 내부 영역과 지정된 구형 영역의 양쪽 모두에 포함되는 점이 있는 경우, 구형 영역은 Shape
와 교차하고 있다고 보여집니다.
Shape.intersects()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 true
를 돌려주는 일이 있습니다.
Shape
가 서로 겹치고 있을 가능성이 꽤 높지만,
Shape
에 따라서는, 구형 영역이 Shape
와 교차하지 않는 경우에서도 이 메소드가 true
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다. 이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
Shape
내의 intersects
x
- 지정된 구형 영역의
좌상구석의 X 좌표y
- 지정된 구형 영역의
좌상구석의 Y 좌표w
- 지정된 구형 영역의 폭h
- 지정된 구형 영역의 높이
Shape
의 내부 영역과 구형 영역의 내부 영역이 교차하는 경우,
또는 교차할 가능성이 높지만, 부하가 너무 커
공통 부분의 계산을 실시할 수 없는 경우도 true
,
그렇지 않은 경우는 false
Area
public final boolean intersects(Rectangle2D r)
Shape
의 내부가, 지정된 Rectangle2D
의 내부와 교차할지 어떨지를 판정합니다. Shape.intersects()
메소드를 사용하면(자), 다음과 같은 경우에 Shape
구현은 true
를 돌려주는 일이 있습니다.
Rectangle2D
와 Shape
가 교차할 가능성이 높지만,
Shape
에 따라서는,Rectangle2D
가 Shape
와 교차하지 않는 경우에서도 이 메소드가 true
를 돌려주는 일이 있습니다. Area
클래스는, 대부분의 Shape
객체의 기하학적인 공통 부분의 것보다 정밀한 계산을 실시하기 (위해)때문에, 보다 정확한 결과가 필요한 경우에 사용할 수 있습니다. 이 메소드 객체는, 지정된 구형 영역이 패스 세그먼트(segment)와 교차하고 있어, 그 세그먼트(segment)가 패스의 내부 영역과 외부 영역의 사이의 경계를 나타내지 않는 경우에도, true 를 돌려주는 일이 있습니다. 세그먼트(segment) 세트간에 내부 영역이 존재하지 않는 2 개의 세그먼트(segment) 세트가 상쇄되도록(듯이) 세그먼트(segment)세트가 역방향으로 재트레이스 되는 경우에, 이러한 상태가 발생하는 일이 있습니다. 세그먼트(segment)가 패스의 내부 영역의 실제의 경계를 나타낼지 어떨지를 판단하려면 , 패스의 모든 세그먼트(segment)와 굴곡 규칙에 대한 대량의 계산이 필요합니다. 그 때문에, 그러한 판단은 이 구현의 범위를 넘고 있습니다.
Shape
내의 intersects
r
- 지정된 Rectangle2D
Shape
의 내부 영역과
지정된 Rectangle2D
의 내부 영역이 교차하는 경우,
또는 교차할 가능성이 높지만, 부하가 너무 커
공통 부분의 계산을 실시할 수 없는 경우도 true
,
그렇지 않은 경우는 false
Shape.intersects(double, double, double, double)
public PathIterator getPathIterator(AffineTransform at, double flatness)
Shape
의 경계를 따라 반복 처리를 실시해,Shape
의 윤곽의 기하학적 도형의 평탄화 된 뷰에 액세스 할 수 있도록(듯이) 하는 반복자 객체를 돌려줍니다. 반복자가 돌려주는 것은, 포인트형 SEG_MOVETO, SEG_LINETO, 및 SEG_CLOSE 뿐입니다.
옵션의 AffineTransform
가 지정되면(자), 반복 처리로 반환되는 좌표가 거기에 응해 변환됩니다.
곡선 세그먼트(segment)의 분할의 양은, 평탄화 되지 않는 변환을 받은 곡선상의 점이, 반환되는 평탄화 된 패스 세그먼트(segment)로부터도 와도 떨어지는 거리를 지정하는 flatness
파라미터에 의해 제어됩니다. 평탄화 된 윤곽선의 정밀도에 대해서 예고없이 제한이 더해지는 일이 있어, 이 경우, 매우 작은 평탄화 파라미터가 큰 값으로 해서 다루어지는 일이 있습니다. 이 제한은, 사용되는 특정의 구현에 의해 정해집니다.
이 메소드를 호출할 때마다, 동시에 사용되고 있는 것 외의 모든 PathIterator
객체 (와)는 관계없는 것으로,Shape
객체의 기하학적 도형을 이동하는 새로운 PathIterator
객체가 돌려주어집니다.
Shape
인터페이스를 구현하는 객체는, 실행중의 반복 처리를 원의 객체의 기하학적 도형에 대해서 발생할 가능성이 있는 변경으로부터 분리시키는 것이 추천 됩니다만, 이것은 보증되고는 있지 않습니다.
이 클래스의 반복자는, multi-thread에 대해서 안전하지는 않습니다. 즉 Path2D
클래스에서는, 이 Path2D
객체의 기하학적 도형을 변경하면(자), 이 기하학적 도형에 대해 벌써 진행중의 반복 처리에 영향을 미치는 경우가 있습니다.
Shape
내의 getPathIterator
at
- 반복 처리로 돌려주어질 때 좌표에 적용된다
임의의 AffineTransform
,
변환되어 있지 않은 좌표가 필요한 경우는 null
flatness
- 곡선 세그먼트(segment)를 근사 하기 위해서 사용된다
라인 세그먼트(segment)가, 원의 곡선상의 임의의 점으로부터
떨어질 수가 있는 최대의 거리
Shape
의 기하학적 도형의 평탄화 된 뷰를
독립해 이동하는 새로운 PathIterator
public abstract Object clone()
Object
내의 clone
OutOfMemoryError
- 충분한 메모리가 없는 경우Cloneable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.