Path2D (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

## java.awt.geom
클래스 Path2D

    java.lang.Object
      java.awt.geom.Path2D

모든 구현된 인터페이스:
  Shape , Cloneable

직계의 기존의 서브 클래스:
  Path2D.Double , Path2D.Float

    public abstract class Path2D

extends Object
implements Shape , Cloneable

`Path2D` 클래스는, 단순합니다만 유연성이 있는, 임의의 기하학적 패스를 나타내는 형상을 제공합니다. 이 클래스는, 패스의 모든 세그먼트(segment)형과 굴곡 규칙을 포함한 `PathIterator` 인터페이스에 의해, 반복 처리 할 수 있는 임의의 패스를 완전하게 나타낼 수가 있는 것 외에`Shape` 인터페이스의 기본적인 맞아 판정의 메소드를 모두 구현합니다.

부동 소수점 정밀도로 나타내거나 사용하거나 할 수가 있는 데이터를 취급할 때는,`Path2D.Float` 를 사용합니다. 배정밀도의 정확함 또는 범위를 필요로 하는 데이터에 대해서는 `Path2D.Double` 를 사용합니다.

`Path2D` 는, 기하학적 패스의 기본적인 구축 및 관리로 확실히 필요한 기능을 갖추고 있는 것 외에 전술의 인터페이스에 약간의 해석을 더한 것을 구현하고 있습니다. 단순한 당 판정 뿐만이 아니라, 닫은 기하학 마토가타장의 내부를 조작하는 편이 편리한 경우는,`Area` 클래스를 사용하면(자), 닫은 도형에 특화한 추가 기능을 사용할 수 있습니다. 어느 쪽의 클래스도 공식상은 `Shape` 인터페이스를 구현하고 있습니다만, 그 목적이 다릅니다. 조합해 사용하는 것으로써, 기하학 마토가타장에 대해서 편리한 관점을 2 개 제공합니다. `Path2D` 는 주로 패스 세그먼트(segment)에 의해 형성되는 궤적을 취급하는데 대해,`Area` 는 2D 기하학적 공간이 닫은 영역의 해석이나 조작이 중심입니다.

`PathIterator` 인터페이스에는, 패스를 구성하는 세그먼트(segment)의 형태와 패스의 안쪽 또는 외측에 있는 영역을 특정하는 방법을 제어하는 굴곡 규칙에 대해, 상세한 설명이 준비되어 있습니다.

도입된 버젼:
  1.6

상자의 클래스의 개요
`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`

필드의 상세

### WIND_EVEN_ODD

    public static final int WIND_EVEN_ODD

  패스의 내부를 결정하는 우기굴곡 규칙입니다.

  도입된 버젼:
    1.6
  관련 항목:
    `PathIterator.WIND_EVEN_ODD` , 정수 필드치

### WIND_NON_ZERO

    public static final int WIND_NON_ZERO

  패스의 내부를 결정하는 비제로 굴곡 규칙입니다.

  도입된 버젼:
    1.6
  관련 항목:
    `PathIterator.WIND_NON_ZERO` , 정수 필드치

메소드의 상세

### moveTo

    public abstract void moveTo(double x,
                                double y)

  배정밀도로 지정된 좌표로 이동해 점을 패스에 추가합니다.

  파라미터:
    `x` - 지정된 X 좌표
    `y` - 지정된 Y 좌표
  도입된 버젼:
    1.6

### lineTo

    public abstract void lineTo(double x,
                                double y)

  현재의 좌표로부터 배정밀도로 새롭게 지정된 좌표까지 직선을 draw 해 점을 패스에 추가합니다.

  파라미터:
    `x` - 지정된 X 좌표
    `y` - 지정된 Y 좌표
  도입된 버젼:
    1.6

### quadTo

    public abstract void quadTo(double x1,
                                double y1,
                                double x2,
                                double y2)

  2 개(살)의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다. 곡선 세그먼트(segment)는, 지정된 점 `(x1, y1)` 을 2 차 파라메트릭 제어점으로서 사용해, 현재의 좌표와 지정된 좌표 `(x2, y2)` 를 통과하는 2 차 곡선으로서 draw 합니다. 모든 좌표는, 배정밀도로 지정됩니다.

  파라미터:
    `x1` - 2 차 제어점의 X 좌표
    `y1` - 2 차 제어점의 Y 좌표
    `x2` - 마지막 종점의 X 좌표
    `y2` - 마지막 종점의 Y 좌표
  도입된 버젼:
    1.6

### curveTo

    public abstract void curveTo(double x1,
                                 double y1,
                                 double x2,
                                 double y2,
                                 double x3,
                                 double y3)

  3 개(살)의 새로운 점에 의해 정의되는 곡선 세그먼트(segment)를 패스에 추가합니다. 곡선 세그먼트(segment)는, 지정된 점 `(x1, y1)` 및 점 `(x2, y2)` 을 베쥬 제어점으로서 사용해, 현재의 좌표와 지정된 좌표 `(x3, y3)` 의 양쪽 모두를 통과하는 베지에곡선으로서 draw 합니다. 모든 좌표는, 배정밀도로 지정됩니다.

  파라미터:
    `x1` - 최초의 베쥬 제어점의 X 좌표
    `y1` - 최초의 베쥬 제어점의 Y 좌표
    `x2` - 2 번째의 베쥬 제어점의 X 좌표
    `y2` - 2 번째의 베쥬 제어점의 Y 좌표
    `x3` - 마지막 종점의 X 좌표
    `y3` - 마지막 종점의 Y 좌표
  도입된 버젼:
    1.6

### closePath

    public final void closePath()

  마지막 `moveTo` 의 좌표까지 직선을 draw 해 현재의 서브 패스를 닫습니다. 패스가 벌써 닫고 있는 경우, 이 메소드는 효과가 없습니다.

  도입된 버젼:
    1.6

### append

    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 치
  도입된 버젼:
    1.6

### append

    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 치
  도입된 버젼:
    1.6

### getWindingRule

    public final int getWindingRule()

  전부 칠해 스타일 굴곡 규칙을 돌려줍니다.

  반환값:
    현재의 굴곡 규칙을 나타내는 정수
  도입된 버젼:
    1.6
  관련 항목:
    `WIND_EVEN_ODD` , `WIND_NON_ZERO` , `setWindingRule(int)`

### setWindingRule

    public final void setWindingRule(int rule)

  이 패스의 굴곡 규칙이 지정된 값으로 설정합니다.

  파라미터:
    `rule` - 지정된 굴곡 규칙을 나타낸다 정수
  예외:
    `IllegalArgumentException` - 다음의 조건이 성립하는 경우: `rule` 가 `WIND_EVEN_ODD` 에서도 `WIND_NON_ZERO` 에서도 없는 경우
  도입된 버젼:
    1.6
  관련 항목:
    `getWindingRule()`

### getCurrentPoint

    public final Point2D  getCurrentPoint()

  패스의 마지막에 추가된 가장 새로운 좌표를 `Point2D` 객체로서 돌려줍니다.

  반환값:
    패스의 종료 좌표를 포함하는 `Point2D` 객체, 패스에 점이 없는 경우는 `null`
  도입된 버젼:
    1.6

### reset

    public final void reset()

  패스를 빈 상태(empty)에 리셋 합니다. 추가 위치는 패스의 선두로 다시 설정해 모든 좌표 및 점의 타입은 파기됩니다.

  도입된 버젼:
    1.6

### transform

    public abstract void transform(AffineTransform  at)

  지정된 `AffineTransform` 를 사용해, 이 패스의 기하학적 도형을 변환합니다. 기하학적 도형은 적절히 변환되어 이것에 의해, 이 객체에 의해 정의되는 경계가 영구적으로 변경됩니다.

  파라미터:
    `at` - 영역을 변환하는데 사용하는 `AffineTransform`
  도입된 버젼:
    1.6

### createTransformedShape

    public final Shape  createTransformedShape(AffineTransform  at)

  이 `Path2D` 의 변환된 뒤의 버젼을 나타내는, 새로운 `Shape` 를 돌려줍니다. 반환값의 정확한 형태와 좌표의 정밀도는, 이 메소드에서는 지정되지 않습니다. 이 메소드는, 변환된 지오메트리용으로 이 `Path2D` 가 현재 유지하고 있는 정밀도보다 낮은 정밀도를 포함하지 않는 Shape 를 돌려줍니다만, 보다 높은 정밀도가 포함되지 않는 경우도 있습니다. 결과에서의 정밀도와 스토리지 사이즈의 트레이드 오프가 중요한 경우는, 선택을 명확하게 하기 위해서,`Path2D.Float` 서브 클래스 및 `Path2D.Double` 서브 클래스의 간이 생성자 을 사용해 주세요.

  파라미터:
    `at` - 새로운 `Shape` 를 변환하는데 사용한다 `AffineTransform`
  반환값:
    지정된 `AffineTransform` 로 변환된, 새로운 `Shape`
  도입된 버젼:
    1.6

### getBounds

    public final Rectangle  getBounds()

  `Shape` 를 완전하게 둘러싸는 정수형 `Rectangle` 를 돌려줍니다. 반환된 `Rectangle` 가 `Shape` 를 둘러싸는 최소의 바운딩 박스이다고는 할 수 없습니다. 나타난 `Rectangle` 내에 `Shape` 가 완전하게 수습된다고 할 뿐입니다. 또,`Shape` 가 정수형의 제한 범위를 넘는 경우, 반환된 `Rectangle` 는 `Shape` 를 완전하게 둘러싸지 못하는 것도 있습니다. 일반적으로은,`getBounds2D` 메소드가, 표현의 자유도가 높기 위해(때문에), 비교적 딱 한 바운딩 박스를 돌려줍니다.

  정의:
    인터페이스 `Shape` 내의 `getBounds`
  반환값:
    `Shape` 를 완전하게 둘러싸는 정수형의 `Rectangle`
  도입된 버젼:
    1.6
  관련 항목:
    `Shape.getBounds2D()`

### contains

    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`
  도입된 버젼:
    1.6

### contains

    public static boolean contains(PathIterator  pi,
                                   Point2D  p)

  지정된 `Point2D` 가 지정된 `PathIterator` 가 닫은 경계내에 있을지 어떨지를 판정합니다.

  이 메소드는,`Shape` 인터페이스의 구현자가 `Shape.contains(Point2D)` 메소드의 지원를 구현하기 위한 기본적인 기능을 제공합니다.

  파라미터:
    `pi` - 지정된 `PathIterator`
    `p` - 지정된 `Point2D`
  반환값:
    지정된 좌표가 지정된 `PathIterator` 내에 있는 경우는 `true`, 그렇지 않은 경우는 `false`
  도입된 버젼:
    1.6

### contains

    public final boolean contains(double x,
                                  double y)

  지정된 좌표가 `Shape` 의 경계내에 있을지 어떨지를 판정합니다.

  정의:
    인터페이스 `Shape` 내의 `contains`
  파라미터:
    `x` - 판정 대상의 지정된 X 좌표
    `y` - 판정 대상의 지정된 Y 좌표
  반환값:
    지정된 좌표가 `Shape` 의 경계내에 있는 경우는 `true`, 그렇지 않은 경우는 `false`
  도입된 버젼:
    1.6

### contains

    public final boolean contains(Point2D  p)

  지정된 `Point2D` 가 `Shape` 의 경계내에 있을지 어떨지를 판정합니다.

  정의:
    인터페이스 `Shape` 내의 `contains`
  파라미터:
    `p` - 판정 대상의, 지정된 `Point2D`
  반환값:
    지정된 `Point2D` 가 `Shape` 의 경계내에 있는 경우는 `true`, 그렇지 않은 경우는 `false`
  도입된 버젼:
    1.6

### contains

    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`
  도입된 버젼:
    1.6

### contains

    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`
  도입된 버젼:
    1.6

### contains

    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`
  도입된 버젼:
    1.6
  관련 항목:
    `Area` , `Shape.intersects(double, double, double, double)`

### contains

    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`
  도입된 버젼:
    1.6
  관련 항목:
    `Shape.contains(double, double, double, double)`

### intersects

    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`
  도입된 버젼:
    1.6

### intersects

    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`
  도입된 버젼:
    1.6

### intersects

    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`
  도입된 버젼:
    1.6
  관련 항목:
    `Area`

### intersects

    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`
  도입된 버젼:
    1.6
  관련 항목:
    `Shape.intersects(double, double, double, double)`

### getPathIterator

    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`
  도입된 버젼:
    1.6

### clone

    public abstract Object  clone()

  이 객체와 같은 클래스의 새로운 객체를 작성합니다.

  오버라이드(override):
    클래스 `Object` 내의 `clone`
  반환값:
    이 인스턴스의 복제
  예외:
    `OutOfMemoryError` - 충분한 메모리가 없는 경우
  도입된 버젼:
    1.6
  관련 항목:
    `Cloneable`

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

JavaTM Platform
Standard Ed. 6

앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음
개요 : 상자 | 필드 | 생성자 | 메소드 | 상세 : 필드 | 생성자 | 메소드

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.