クラスPath2D.Double

java.lang.Object
java.awt.geom.Path2D
java.awt.geom.Path2D.Double
すべての実装されたインタフェース:
Shape, Serializable, Cloneable
含まれているクラス:
Path2D

public static non-sealed class Path2D.Double extends Path2D implements Serializable
Doubleクラスは、座標が倍精度浮動小数点で格納される幾何学的パスを定義します。
導入されたバージョン:
1.6
関連項目:
  • ネストされたクラスのサマリー

    クラスPath2Dで宣言されたネストされたクラス/インタフェース

    Path2D.Double, Path2D.Float
    修飾子と型
    クラス
    説明
    static class 
    Doubleクラスは、座標が倍精度浮動小数点で格納される幾何学的パスを定義します。
    static class 
    Floatクラスは、座標が単精度浮動小数点で格納される幾何学的パスを定義します。
  • フィールドのサマリー

    クラスで宣言されたフィールド Path2D

    WIND_EVEN_ODD, WIND_NON_ZERO
    修飾子と型
    フィールド
    説明
    static final int
    パスの内部を決める偶奇屈曲規則です。
    static final int
    パスの内部を決める非ゼロ屈曲規則です。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    Path2D.WIND_NON_ZEROのデフォルトの屈曲規則を使用して、新しい空の倍精度Path2Dオブジェクトを構築します。
    Double(int rule)
    パスの内部を定義する必要があるオペレーションを制御するために屈曲規則を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。
    Double(int rule, int initialCapacity)
    屈曲規則、およびパス・セグメントを格納できる初期容量を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。
    任意のShapeオブジェクトから、新しい空の倍精度Path2Dを構築します。
    AffineTransformオブジェクトによって変換される、任意のShapeオブジェクトから新しい倍精度Path2Dオブジェクトを構築します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    final void
    append(PathIterator pi, boolean connect)
    指定されたPathIteratorオブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をライン・セグメントで既存のパス・セグメントに接続することも可能です。
    final Object
    このオブジェクトと同じクラスの新しいオブジェクトを作成します。
    final void
    curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
    3つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点(x1,y1)と点(x2,y2)をベジェ制御点として使用して、現在の座標と指定された座標(x3,y3)の両方を通るベジェ曲線として描画します。
    高精度で、かつgetBoundsメソッドより正確なShapeのバウンディング・ボックスを返します。
    Shapeの境界に沿って反復し、Shapeの輪郭の幾何学的図形へのアクセスを提供するイテレータ・オブジェクトを返します。
    final void
    lineTo(double x, double y)
    現在の座標から倍精度で新しく指定された座標まで直線を描画して点をパスに追加します。
    final void
    moveTo(double x, double y)
    倍精度で指定された座標に移動して点をパスに追加します。
    final void
    quadTo(double x1, double y1, double x2, double y2)
    2つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点(x1,y1)を2次パラメトリック制御点として使用して、現在の座標と指定された座標(x2,y2)を通る2次曲線として描画します。
    final void
    指定されたAffineTransformを使用して、このパスの幾何学的図形を変換します。
    final void
    このPath2Dインスタンスの容量を現在のサイズに縮小します。

    クラスで宣言されたメソッド Path2D

    append, closePath, contains, contains, contains, contains, contains, contains, contains, contains, createTransformedShape, getBounds, getCurrentPoint, getPathIterator, getWindingRule, intersects, intersects, intersects, intersects, reset, setWindingRule
    修飾子と型
    メソッド
    説明
    final void
    append(Shape s, boolean connect)
    指定されたShapeオブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をライン・セグメントで既存のパス・セグメントに接続することも可能です。
    final void
    最後のmoveToの座標まで直線を描画して現在のサブパスを閉じます。
    final boolean
    contains(double x, double y)
    「内部性の定義」で説明されているように、指定された座標がShapeの境界内にあるかどうかをテストします。
    final 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
    指定されたPoint2Dが指定されたPathIteratorの閉じた境界内にあるかどうかを判定します。
    static boolean
    指定されたRectangle2D全体が指定されたPathIteratorの閉じた境界内にあるかどうかを判定します。
    final boolean
    指定されたPoint2Dが、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
    final boolean
    Shapeの内部に、指定されたRectangle2Dが完全に含まれるかどうかをテストします。
    final Shape
    このPath2Dの変換されたあとのバージョンを表す、新しいShapeを返します。
    final Rectangle
    Shapeを完全に囲む整数のRectangleを返します。
    final Point2D
    パスの最後に追加されたもっとも新しい座標をPoint2Dオブジェクトとして返します。
    getPathIterator(AffineTransform at, double flatness)
    Shapeの境界に沿って反復し、Shapeの輪郭の幾何学的図形の平坦化されたビューへのアクセスを提供するイテレータ・オブジェクトを返します。
    final int
    塗りつぶしスタイル屈曲規則を返します。
    final 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
    指定されたPathIteratorの内部が、指定されたRectangle2Dの内部と交差するかどうかを判定します。
    final boolean
    Shapeの内部が指定されたRectangle2Dの内部と交差しているかどうかをテストします。
    final void
    パスを空にリセットします。
    final void
    setWindingRule(int rule)
    このパスの屈曲規則を指定された値に設定します。

    クラスオブジェクトで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • Double

      public Double()
      Path2D.WIND_NON_ZEROのデフォルトの屈曲規則を使用して、新しい空の倍精度Path2Dオブジェクトを構築します。
      導入されたバージョン:
      1.6
    • Double

      public Double(int rule)
      パスの内部を定義する必要があるオペレーションを制御するために屈曲規則を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。
      パラメータ:
      rule - 屈曲規則
      スロー:
      IllegalArgumentException - rulePath2D.WIND_EVEN_ODDまたはPath2D.WIND_NON_ZEROでない場合
      導入されたバージョン:
      1.6
      関連項目:
    • Double

      public Double(int rule, int initialCapacity)
      屈曲規則、およびパス・セグメントを格納できる初期容量を指定して、新しい空の倍精度Path2Dオブジェクトを構築します。 この数字は、パスに存在するパス・セグメントの数についての初期推定ですが、このパスにパス・セグメントが追加されるときに、必要に応じて格納するためのストレージが拡張されます。
      パラメータ:
      rule - 屈曲規則
      initialCapacity - パスにあるパス・セグメントの数の推定値
      スロー:
      IllegalArgumentException - rulePath2D.WIND_EVEN_ODDまたはPath2D.WIND_NON_ZEROでない場合
      NegativeArraySizeException - initialCapacityが負の場合
      導入されたバージョン:
      1.6
      関連項目:
    • Double

      public Double(Shape s)
      任意のShapeオブジェクトから、新しい空の倍精度Path2Dを構築します。 このパスの初期幾何学的図形および屈曲規則はすべて、指定されたShapeオブジェクトからとられます。
      パラメータ:
      s - 指定されたShapeオブジェクト
      スロー:
      NullPointerException - snullである場合
      導入されたバージョン:
      1.6
    • Double

      public Double(Shape s, AffineTransform at)
      AffineTransformオブジェクトによって変換される、任意のShapeオブジェクトから新しい倍精度Path2Dオブジェクトを構築します。 このパスの初期幾何学的図形および屈曲規則はすべて、指定されたShapeオブジェクトからとられ、指定されたAffineTransformオブジェクトによって変換されます。
      パラメータ:
      s - 指定されたShapeオブジェクト
      at - 指定されたAffineTransformオブジェクト
      スロー:
      NullPointerException - snullである場合
      導入されたバージョン:
      1.6
  • メソッドの詳細

    • trimToSize

      public final void trimToSize()
      クラス: Path2Dからコピーされた説明
      このPath2Dインスタンスの容量を現在のサイズに縮小します。 アプリケーションは、この操作を使用してパスのストレージを最小限に抑えることができます。
      定義:
      クラスPath2DtrimToSize
      導入されたバージョン:
      10
    • moveTo

      public final void moveTo(double x, double y)
      倍精度で指定された座標に移動して点をパスに追加します。
      定義:
      moveTo、クラスPath2D
      パラメータ:
      x - 指定されたX座標
      y - 指定されたY座標
      導入されたバージョン:
      1.6
    • lineTo

      public final void lineTo(double x, double y)
      現在の座標から倍精度で新しく指定された座標まで直線を描画して点をパスに追加します。
      定義:
      lineTo、クラスPath2D
      パラメータ:
      x - 指定されたX座標
      y - 指定されたY座標
      導入されたバージョン:
      1.6
    • quadTo

      public final void quadTo(double x1, double y1, double x2, double y2)
      2つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点(x1,y1)を2次パラメトリック制御点として使用して、現在の座標と指定された座標(x2,y2)を通る2次曲線として描画します。 すべての座標は、倍精度で指定されます。
      定義:
      quadTo、クラスPath2D
      パラメータ:
      x1 - 2次制御点のX座標
      y1 - 2次制御点のY座標
      x2 - 最後の終点のX座標
      y2 - 最後の終点のY座標
      導入されたバージョン:
      1.6
    • curveTo

      public final void curveTo(double x1, double y1, double x2, double y2, double x3, double y3)
      3つの新しい点によって定義される曲線セグメントをパスに追加します。曲線セグメントは、指定された点(x1,y1)と点(x2,y2)をベジェ制御点として使用して、現在の座標と指定された座標(x3,y3)の両方を通るベジェ曲線として描画します。 すべての座標は、倍精度で指定されます。
      定義:
      curveTo、クラスPath2D
      パラメータ:
      x1 - 最初のベジェ制御点のX座標
      y1 - 最初のベジェ制御点のY座標
      x2 - 2番目のベジェ制御点のX座標
      y2 - 2番目のベジェ制御点のY座標
      x3 - 最後の終点のX座標
      y3 - 最後の終点のY座標
      導入されたバージョン:
      1.6
    • append

      public final void append(PathIterator pi, boolean connect)
      指定されたPathIteratorオブジェクトの幾何学的図形をパスに追加します。その新しい幾何学的図形をライン・セグメントで既存のパス・セグメントに接続することも可能です。 connectパラメータがtrueであり、パスが空でない場合、追加されたShapeの幾何学的図形の初期moveTolineToセグメントに変わります。 そのような接続lineToセグメントのデスティネーションの座標が現在開いているサブパスの終了座標と一致する場合、セグメントは不要なので省略されます。 指定されたShapeの屈曲規則は無視され、追加された幾何学的図形はこのパスに指定された屈曲規則に制御されます。
      定義:
      append、クラスPath2D
      パラメータ:
      pi - このパスに幾何学的図形が追加されるPathIterator
      connect - 新しい幾何学的図形を既存のパスに接続するために初期moveToセグメントをlineToセグメントに変えるかどうかを制御するboolean値
      導入されたバージョン:
      1.6
    • transform

      public final void transform(AffineTransform at)
      指定されたAffineTransformを使用して、このパスの幾何学的図形を変換します。 幾何学的図形は適切に変換され、これにより、このオブジェクトによって定義される境界が永久的に変更されます。
      定義:
      transform、クラスPath2D
      パラメータ:
      at - 領域を変換するのに使うAffineTransform
      導入されたバージョン:
      1.6
    • getBounds2D

      public final Rectangle2D getBounds2D()
      高精度で、かつgetBoundsメソッドより正確なShapeのバウンディング・ボックスを返します。 返されたRectangle2Dが、Shapeを囲む最小のバウンディング・ボックスであるという保証はありません。Shapeが、示されたRectangle2D内に完全に含まれているだけです。 戻り値を、倍精度値を使用して寸法を格納するRectangle2Dのインスタンスにすることができるため、このメソッドによって返されたバウンディング・ボックスは通常、getBoundsメソッドによって返されたものより厳密であり、オーバーフローの問題のために失敗することはありません。

      「内部性の定義」は、shapeの定義アウトライン上のポイントが、返されたboundsオブジェクトに含まれるとは見なされない場合もありますが、それらのポイントが元のshapeに含まれていない場合のみであることに注意してください。

      pointcontains(point)メソッドに従ってshapeの内側にある場合は、boundscontains(point)メソッドに従って、返されたRectangle2D境界オブジェクトの内側にある必要があります。 具体的には、次のようになります。

      shape.contains(p)にはbounds.contains(p)が必要

      pointshapeの内側にない場合は、引き続きboundsオブジェクトに含まれている可能性があります。

      bounds.contains(p)shape.contains(p)を示さない

      定義:
      getBounds2D、インタフェースShape
      戻り値:
      Shapeの高精度のバウンディング・ボックスであるRectangle2Dのインスタンス。
      導入されたバージョン:
      1.6
      関連項目:
    • getPathIterator

      public final PathIterator getPathIterator(AffineTransform at)
      Shapeの境界に沿って反復し、Shapeの輪郭の幾何学的図形へのアクセスを提供するイテレータ・オブジェクトを返します。 オプションのAffineTransformが指定されると、反復処理で返される座標がそれに応じて変換されます。

      このメソッドを呼び出すたびに、同時に使用されているほかのすべてのPathIteratorオブジェクトとは無関係に、Shapeオブジェクトの幾何学的図形をトラバースする新しいPathIteratorオブジェクトが返されます。

      Shapeインタフェースを実装するオブジェクトにより、進行中の反復が、このような反復中に発生する可能性のある元のオブジェクトの幾何学的図形へのどのような変更からも切り離されることを推奨しますが、これは保証されません。

      このクラスのイテレータは、マルチ・スレッドに対して安全ではありません。つまりこのPath2Dクラスでは、このPath2Dオブジェクトの幾何学的図形を変更すると、この幾何学的図形についてすでに進行中の反復処理に影響を及ぼす場合があります。

      定義:
      getPathIterator、インタフェースShape
      パラメータ:
      at - AffineTransform
      戻り値:
      このShapeの境界に沿って反復し、このShapeの輪郭線の幾何学的図形へのアクセスを提供する新しいPathIterator
      導入されたバージョン:
      1.6
    • clone

      public final Object clone()
      このオブジェクトと同じクラスの新しいオブジェクトを作成します。
      定義:
      clone、クラスPath2D
      戻り値:
      このインスタンスの複製。
      スロー:
      OutOfMemoryError - 十分なメモリーがない場合。
      導入されたバージョン:
      1.6
      関連項目: