モジュール java.desktop
パッケージ java.awt.geom

クラスCubicCurve2D

java.lang.Object
java.awt.geom.CubicCurve2D
すべての実装されたインタフェース:
Shape, Cloneable
直系の既知のサブクラス:
CubicCurve2D.Double, CubicCurve2D.Float

public abstract class CubicCurve2D extends Object implements Shape, Cloneable
CubicCurve2Dクラスは、(x,y)座標空間の3次パラメトリック曲線セグメントを定義します。

このクラスは、2Dの3次曲線セグメントを格納するすべてのオブジェクトの抽象スーパー・クラスにすぎません。 座標の実際の記憶域表現はサブクラスに委ねられます。

導入されたバージョン:
1.2
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    クラス
    説明
    static class 
    double座標で指定された3次パラメトリック曲線セグメント。
    static class 
    float座標で指定された3次パラメトリック曲線セグメント。
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    これは、インスタンスを直接には生成できない抽象クラスです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このオブジェクトと同じクラスの新しいオブジェクトを作成します。
    boolean
    contains(double x, double y)
    指定された座標が、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
    boolean
    contains(double x, double y, double w, double h)
    Shapeの内部に、指定された矩形領域が完全に含まれるかどうかをテストします。
    boolean
    指定されたPoint2Dが、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
    boolean
    Shapeの内部に、指定されたRectangle2Dが完全に含まれるかどうかをテストします。
    Shapeを完全に囲む整数のRectangleを返します。
    abstract Point2D
    最初の制御点を返します。
    abstract Point2D
    2番目の制御点を返します。
    abstract double
    最初の制御点のX座標を倍精度で返します。
    abstract double
    2番目の制御点のX座標を倍精度で返します。
    abstract double
    最初の制御点のY座標を倍精度で返します。
    abstract double
    2番目の制御点のY座標を倍精度で返します。
    double
    この曲線のフラットネスを返します。
    static double
    getFlatness(double[] coords, int offset)
    指定された配列の、指定されたインデックスに格納された制御点で示される、3次曲線のフラットネスを返します。
    static double
    getFlatness(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
    指定された制御点で指定される3次曲線のフラットネスを返します。
    double
    この曲線のフラットネスの2乗を返します。
    static double
    getFlatnessSq(double[] coords, int offset)
    指定された配列の、指定されたインデックスに格納された制御点で示される3次曲線のフラットネスの2乗を返します。
    static double
    getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
    指定された制御点で示される3次曲線のフラットネスの2乗を返します。
    abstract Point2D
    始点を返します。
    abstract Point2D
    終点を返します。
    形状の境界を定義する繰返しオブジェクトを返します。
    getPathIterator(AffineTransform at, double flatness)
    平坦化された形状の境界を定義する繰返しオブジェクトを返します。
    abstract double
    始点のX座標を倍精度で返します。
    abstract double
    終点のX座標を倍精度で返します。
    abstract double
    始点のY座標を倍精度で返します。
    abstract double
    終点のY座標を倍精度で返します。
    boolean
    intersects(double x, double y, double w, double h)
    Shapeの内部が指定された矩形領域の内部と交差しているかどうかをテストします。
    boolean
    Shapeの内部が指定されたRectangle2Dの内部と交差しているかどうかをテストします。
    void
    setCurve(double[] coords, int offset)
    この曲線の終点と制御点の位置を、指定された配列内の指定されたオフセットにあるdouble座標に設定します。
    abstract void
    setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
    この曲線の終点と制御点の位置を、指定されたdouble座標に設定します。
    void
    この曲線の終点と制御点の位置を、指定されたCubicCurve2Dのそれらと同じに設定します。
    void
    setCurve(Point2D[] pts, int offset)
    指定された配列の指定されたオフセットにあるPoint2Dオブジェクトの座標に、この曲線の終点と制御点の位置を設定します。
    void
    setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2)
    この曲線の終点と制御点の位置を、指定されたPoint2D座標に設定します。
    static int
    solveCubic(double[] eqn)
    係数がeqn配列にある3次方程式の解を得て、非複素数解を同じ配列に戻し、結果として解の個数を返します。
    static int
    solveCubic(double[] eqn, double[] res)
    係数がeqn配列にある3次方程式の解を得て、非複素数解をres配列に戻し、結果として解の個数を返します。
    static void
    subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
    src配列のインデックスsrcoffから(srcoff + 7)に格納されている座標で指定される3次曲線を分割して、分割した2つの曲線を2つの配列の対応するインデックスに格納します。
    void
    この3次曲線を分割して、分割した2つの曲線をleftおよびrightの3次曲線パラメータに格納します。
    static void
    srcパラメータで指定された3次曲線を分割して、分割した2つの曲線をleftおよびrightの曲線パラメータに格納します。

    クラス java.lang.Objectで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    インタフェース java.awt.Shapeで宣言されたメソッド

    getBounds2D
  • コンストラクタの詳細

    • CubicCurve2D

      protected CubicCurve2D()
      これは、インスタンスを直接には生成できない抽象クラスです。 インスタンス生成のためには型固有の実装サブクラスが用意されており、これらのサブクラスにより、下記の各種アクセス用メソッドに必要な情報を格納するための形式が多数提供されます。
      導入されたバージョン:
      1.2
      関連項目:
  • メソッドの詳細

    • getX1

      public abstract double getX1()
      始点のX座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの始点のX座標。
      導入されたバージョン:
      1.2
    • getY1

      public abstract double getY1()
      始点のY座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの始点のY座標。
      導入されたバージョン:
      1.2
    • getP1

      public abstract Point2D getP1()
      始点を返します。
      戻り値:
      CubicCurve2Dの始点であるPoint2D
      導入されたバージョン:
      1.2
    • getCtrlX1

      public abstract double getCtrlX1()
      最初の制御点のX座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの最初の制御点のX座標。
      導入されたバージョン:
      1.2
    • getCtrlY1

      public abstract double getCtrlY1()
      最初の制御点のY座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの最初の制御点のY座標。
      導入されたバージョン:
      1.2
    • getCtrlP1

      public abstract Point2D getCtrlP1()
      最初の制御点を返します。
      戻り値:
      CubicCurve2Dの最初の制御点であるPoint2D
      導入されたバージョン:
      1.2
    • getCtrlX2

      public abstract double getCtrlX2()
      2番目の制御点のX座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの2番目の制御点のX座標。
      導入されたバージョン:
      1.2
    • getCtrlY2

      public abstract double getCtrlY2()
      2番目の制御点のY座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの2番目の制御点のY座標。
      導入されたバージョン:
      1.2
    • getCtrlP2

      public abstract Point2D getCtrlP2()
      2番目の制御点を返します。
      戻り値:
      CubicCurve2Dの2番目の制御点であるPoint2D
      導入されたバージョン:
      1.2
    • getX2

      public abstract double getX2()
      終点のX座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの終点のX座標。
      導入されたバージョン:
      1.2
    • getY2

      public abstract double getY2()
      終点のY座標を倍精度で返します。
      戻り値:
      CubicCurve2Dの終点のY座標。
      導入されたバージョン:
      1.2
    • getP2

      public abstract Point2D getP2()
      終点を返します。
      戻り値:
      CubicCurve2Dの終点であるPoint2D
      導入されたバージョン:
      1.2
    • setCurve

      public abstract void setCurve(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
      この曲線の終点と制御点の位置を、指定されたdouble座標に設定します。
      パラメータ:
      x1 - このCubicCurve2Dの始点を設定するために使用されるX座標
      y1 - CubicCurve2Dの始点を設定するために使用されるY座標
      ctrlx1 - CubicCurve2Dに対する最初の制御点を設定するために使用されるX座標
      ctrly1 - CubicCurve2Dに対する最初の制御点を設定するために使用されるY座標
      ctrlx2 - CubicCurve2Dに対する2番目の制御点を設定するために使用されるX座標
      ctrly2 - CubicCurve2Dに対する2番目の制御点を設定するために使用されるY座標
      x2 - このCubicCurve2Dの終点を設定するために使用されるX座標
      y2 - CubicCurve2Dの終点を設定するために使用されるY座標
      導入されたバージョン:
      1.2
    • setCurve

      public void setCurve(double[] coords, int offset)
      この曲線の終点と制御点の位置を、指定された配列内の指定されたオフセットにあるdouble座標に設定します。
      パラメータ:
      coords - 座標を含むdouble配列
      offset - この曲線の終点と制御点の、coordsに含まれている座標への設定を開始する位置を示すcoordsのインデックス
      導入されたバージョン:
      1.2
    • setCurve

      public void setCurve(Point2D p1, Point2D cp1, Point2D cp2, Point2D p2)
      この曲線の終点と制御点の位置を、指定されたPoint2D座標に設定します。
      パラメータ:
      p1 - この曲線の始点を設定するために使用される、最初に指定されたPoint2D
      cp1 - この曲線の最初の制御点を設定するために使用される、2番目に指定されたPoint2D
      cp2 - この曲線の2番目の制御点を設定するために使用される、3番目に指定されたPoint2D
      p2 - この曲線の終点を設定するために使用される、4番目に指定されたPoint2D
      導入されたバージョン:
      1.2
    • setCurve

      public void setCurve(Point2D[] pts, int offset)
      指定された配列の指定されたオフセットにあるPoint2Dオブジェクトの座標に、この曲線の終点と制御点の位置を設定します。
      パラメータ:
      pts - Point2Dオブジェクトの配列
      offset - この曲線の終点と制御点の、ptsに含まれている点への設定を開始する位置を示すptsのインデックス
      導入されたバージョン:
      1.2
    • setCurve

      public void setCurve(CubicCurve2D c)
      この曲線の終点と制御点の位置を、指定されたCubicCurve2Dのそれらと同じに設定します。
      パラメータ:
      c - 指定されたCubicCurve2D
      導入されたバージョン:
      1.2
    • getFlatnessSq

      public static double getFlatnessSq(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
      指定された制御点で示される3次曲線のフラットネスの2乗を返します。 フラットネスとは、終点間を結ぶ線から制御点への最大距離です。
      パラメータ:
      x1 - CubicCurve2Dの始点を指定するX座標
      y1 - CubicCurve2Dの始点を指定するY座標
      ctrlx1 - CubicCurve2Dに対する最初の制御点を指定するX座標
      ctrly1 - CubicCurve2Dに対する最初の制御点を指定するY座標
      ctrlx2 - CubicCurve2Dに対する2番目の制御点を指定するX座標
      ctrly2 - CubicCurve2Dに対する2番目の制御点を指定するY座標
      x2 - CubicCurve2Dの終点を指定するX座標
      y2 - CubicCurve2Dの終点を指定するY座標
      戻り値:
      指定された座標によって表されたCubicCurve2Dのフラットネスの2乗。
      導入されたバージョン:
      1.2
    • getFlatness

      public static double getFlatness(double x1, double y1, double ctrlx1, double ctrly1, double ctrlx2, double ctrly2, double x2, double y2)
      指定された制御点で指定される3次曲線のフラットネスを返します。 フラットネスとは、終点間を結ぶ線から制御点への最大距離です。
      パラメータ:
      x1 - CubicCurve2Dの始点を指定するX座標
      y1 - CubicCurve2Dの始点を指定するY座標
      ctrlx1 - CubicCurve2Dに対する最初の制御点を指定するX座標
      ctrly1 - CubicCurve2Dに対する最初の制御点を指定するY座標
      ctrlx2 - CubicCurve2Dに対する2番目の制御点を指定するX座標
      ctrly2 - CubicCurve2Dに対する2番目の制御点を指定するY座標
      x2 - CubicCurve2Dの終点を指定するX座標
      y2 - CubicCurve2Dの終点を指定するY座標
      戻り値:
      指定された座標によって表されたCubicCurve2Dのフラットネス。
      導入されたバージョン:
      1.2
    • getFlatnessSq

      public static double getFlatnessSq(double[] coords, int offset)
      指定された配列の、指定されたインデックスに格納された制御点で示される3次曲線のフラットネスの2乗を返します。 フラットネスとは、終点間を結ぶ線から制御点への最大距離です。
      パラメータ:
      coords - 座標が格納されている配列
      offset - coordsのインデックス。ここから、曲線の終点と制御点を取得する
      戻り値:
      coords内の指定されたオフセット位置にある座標によって指定されたCubicCurve2Dのフラットネスの2乗。
      導入されたバージョン:
      1.2
    • getFlatness

      public static double getFlatness(double[] coords, int offset)
      指定された配列の、指定されたインデックスに格納された制御点で示される、3次曲線のフラットネスを返します。 フラットネスとは、終点間を結ぶ線から制御点への最大距離です。
      パラメータ:
      coords - 座標が格納されている配列
      offset - coordsのインデックス。ここから、曲線の終点と制御点を取得する
      戻り値:
      coords内の指定されたオフセット位置にある座標によって指定されたCubicCurve2Dのフラットネス。
      導入されたバージョン:
      1.2
    • getFlatnessSq

      public double getFlatnessSq()
      この曲線のフラットネスの2乗を返します。 フラットネスとは、終点間を結ぶ線から制御点への最大距離です。
      戻り値:
      この曲線のフラットネスの2乗。
      導入されたバージョン:
      1.2
    • getFlatness

      public double getFlatness()
      この曲線のフラットネスを返します。 フラットネスとは、終点間を結ぶ線から制御点への最大距離です。
      戻り値:
      この曲線のフラットネス。
      導入されたバージョン:
      1.2
    • subdivide

      public void subdivide(CubicCurve2D left, CubicCurve2D right)
      この3次曲線を分割して、分割した2つの曲線をleftおよびrightの3次曲線パラメータに格納します。 leftオブジェクトとrightオブジェクトのどちらか、または両方とも、このオブジェクトと同じかnullになります。
      パラメータ:
      left - 分割された曲線の左側または最初の半分を格納するための3次曲線オブジェクト
      right - 分割された曲線の右側または残り半分を格納するための3次曲線オブジェクト
      導入されたバージョン:
      1.2
    • subdivide

      public static void subdivide(CubicCurve2D src, CubicCurve2D left, CubicCurve2D right)
      srcパラメータで指定された3次曲線を分割して、分割した2つの曲線をleftおよびrightの曲線パラメータに格納します。 leftオブジェクトとrightオブジェクトのどちらかまたは両方がsrcオブジェクトと同じか、またはnullになることがあります。
      パラメータ:
      src - 分割される3次曲線
      left - 分割された曲線の左側または最初の半分を格納するための3次曲線オブジェクト
      right - 分割された曲線の右側または残り半分を格納するための3次曲線オブジェクト
      導入されたバージョン:
      1.2
    • subdivide

      public static void subdivide(double[] src, int srcoff, double[] left, int leftoff, double[] right, int rightoff)
      src配列のインデックスsrcoffから(srcoff + 7)に格納されている座標で指定される3次曲線を分割して、分割した2つの曲線を2つの配列の対応するインデックスに格納します。 left配列とright配列のどちらかまたは両方がnullか、またはsrc配列と同じ配列への参照になることがあります。 分割された最初の曲線の終点は分割された2番目の曲線の始点と同じです。 そのため、この共通の点に余分なストレージが割り当てられないようにするために、leftright用に同じ配列を渡し、rightoffが(leftoff+6)に等しくなるようにオフセットを使用することができます。
      パラメータ:
      src - 転送元曲線の座標を保持する配列
      srcoff - 6つの転送元座標の先頭の配列へのオフセット
      left - 分割された曲線の最初の半分の座標を格納するための配列
      leftoff - 6つの左座標の先頭の配列へのオフセット
      right - 分割された曲線の残り半分の座標を格納するための配列
      rightoff - 6つの右座標の先頭の配列へのオフセット
      導入されたバージョン:
      1.2
    • solveCubic

      public static int solveCubic(double[] eqn)
      係数がeqn配列にある3次方程式の解を得て、非複素数解を同じ配列に戻し、結果として解の個数を返します。 解を得た3次方程式は次の等式で表されます。
           eqn = {c, b, a, d}
           dx^3 + ax^2 + bx + c = 0
       
      戻り値の -1を使うと、常に0であるかまたは0でない定数方程式と、ゼロを持たない方程式とを区別できます。
      パラメータ:
      eqn - 3次方程式の係数を含む配列
      戻り値:
      解の個数。ただし、方程式が定数の場合は -1。
      導入されたバージョン:
      1.2
    • solveCubic

      public static int solveCubic(double[] eqn, double[] res)
      係数がeqn配列にある3次方程式の解を得て、非複素数解をres配列に戻し、結果として解の個数を返します。 解を得た3次方程式はeqn ={c, b, a, d} dx^3+ax^2+bx+c = 0という等式で表されます。戻り値の -1を使うと、常に0であるかまたは0でない定数方程式と、ゼロを持たない方程式とを区別できます。
      パラメータ:
      eqn - 3次方程式の解を得るために使用する係数の指定された配列
      res - 3次方程式の解から得られる非複素数解を含む配列
      戻り値:
      解の個数。ただし、方程式が定数の場合は -1
      導入されたバージョン:
      1.3
    • contains

      public boolean contains(double x, double y)
      指定された座標が、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
      定義:
      contains、インタフェースShape
      パラメータ:
      x - テストされる指定されたX座標
      y - テストされる指定されたY座標
      戻り値:
      指定された座標がShape境界の内側にある場合はtrue、それ以外の場合はfalse
      導入されたバージョン:
      1.2
    • contains

      public boolean contains(Point2D p)
      指定されたPoint2Dが、内側の定義によって記述されたShapeの境界の内側にあるかどうかをテストします。
      定義:
      contains、インタフェースShape
      パラメータ:
      p - テストされる指定されたPoint2D
      戻り値:
      指定されたPoint2DShapeの境界の内側にある場合はtrue、それ以外の場合はfalse
      導入されたバージョン:
      1.2
    • intersects

      public boolean intersects(double x, double y, double w, double h)
      Shapeの内部が指定された矩形領域の内部と交差しているかどうかをテストします。 Shapeの内部と指定された矩形領域の両方に含まれている点が存在する場合、その矩形領域はShapeと交差していると見なされます。

      Shape.intersects()メソッドを使用すると、次のような場合に、Shape実装は内部的にtrueを返すことができます。

      • 矩形領域とShapeが交差している可能性が高いが、
      • この共通部分を正確に判断する計算の負荷がかなり大きい。
      つまり、Shapesによっては、矩形領域がShapeと交差していない場合でもこのメソッドがtrueを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。

      定義:
      intersects、インタフェースShape
      パラメータ:
      x - 指定された矩形領域の左上隅のX座標
      y - 指定された矩形領域の左上隅のY座標
      w - 指定された矩形領域の幅
      h - 指定された矩形領域の高さ
      戻り値:
      Shapeの内部と矩形領域の内部が交差しているか、またはどちらも交差している可能性が高いが、負荷が大きすぎて共通部分の計算を実行できない場合はtrue、それ以外の場合はfalse
      導入されたバージョン:
      1.2
      関連項目:
    • intersects

      public boolean intersects(Rectangle2D r)
      Shapeの内部が指定されたRectangle2Dの内部と交差しているかどうかをテストします。 Shape.intersects()メソッドを使用すると、次のような場合に、Shape実装は内部的にtrueを返すことができます。
      • Rectangle2DShapeが交差している可能性が高いが、
      • この共通部分を正確に判断する計算の負荷がかなり大きい。
      つまり、Shapesによっては、Rectangle2DShapeと交差していない場合でもこのメソッドがtrueを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な、幾何学的な共通部分の計算を実行するため、より的確な答えが必要な場合に使用できます。
      定義:
      intersects、インタフェースShape
      パラメータ:
      r - 指定されたRectangle2D
      戻り値:
      Shapeの内部と指定されたRectangle2Dの内部が交差しているか、またはどちらも交差している可能性が高いが、負荷が大きすぎて共通部分の計算を実行できない場合はtrue、それ以外の場合はfalse
      導入されたバージョン:
      1.2
      関連項目:
    • contains

      public boolean contains(double x, double y, double w, double h)
      Shapeの内部に、指定された矩形領域が完全に含まれるかどうかをテストします。 矩形領域全体がShape内に含まれていると見なされるには、矩形領域の内側にあるすべての座標がShape内にある必要があります。

      Shape.contains()メソッドを使用すると、次のような場合に、Shape実装は内部的にfalseを返すことができます。

      • intersectメソッドがtrueを返し、かつ
      • Shapeに矩形領域が完全に含まれるかどうかを判定するための計算の負荷が非常に大きい。
      つまり、Shapesによっては、Shapeに矩形領域が含まれている場合でもこのメソッドがfalseを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な幾何学的計算を実行するため、より的確な答えが必要な場合に使用できます。

      定義:
      contains、インタフェースShape
      パラメータ:
      x - 指定された矩形領域の左上隅のX座標
      y - 指定された矩形領域の左上隅のY座標
      w - 指定された矩形領域の幅
      h - 指定された矩形領域の高さ
      戻り値:
      Shapeの内部に、指定された矩形領域が完全に含まれる場合はtrue、それ以外の場合、またはShapeに矩形領域が含まれ、intersectsメソッドがtrueを返し、さらに負荷が大きすぎて包含の計算を実行できない場合はfalse
      導入されたバージョン:
      1.2
      関連項目:
    • contains

      public boolean contains(Rectangle2D r)
      Shapeの内部に、指定されたRectangle2Dが完全に含まれるかどうかをテストします。 Shape.contains()メソッドを使用すると、次のような場合に、Shape実装は内部的にfalseを返すことができます。
      • intersectメソッドがtrueを返し、かつ
      • ShapeRectangle2Dが完全に含まれるかどうかを判定するための計算の負荷が非常に大きい。
      つまり、Shapesによっては、ShapeRectangle2Dが含まれている場合でもこのメソッドがfalseを返すことがあります。 Areaクラスは、ほとんどのShapeオブジェクトより正確な幾何学的計算を実行するため、より的確な答えが必要な場合に使用できます。
      定義:
      contains、インタフェースShape
      パラメータ:
      r - 指定されたRectangle2D
      戻り値:
      Shapeの内部にRectangle2Dが完全に含まれる場合はtrue、それ以外の場合、またはShapeRectangle2Dが含まれ、intersectsメソッドがtrueを返し、さらに負荷が大きすぎて包含の計算を実行できない場合はfalse
      導入されたバージョン:
      1.2
      関連項目:
    • getBounds

      public Rectangle getBounds()
      Shapeを完全に囲む整数のRectangleを返します。 返されたRectangleShapeを囲む最小のバウンディング・ボックスであるとは限りません。示されたRectangle内にShapeが完全に収まるというだけです。 また、Shapeが整数型の制限範囲を超える場合、返されたRectangleShapeを完全に囲むことができないこともあります。 通常は、getBounds2Dメソッドの方が、表現の自由度が高いために、比較的ぴったりしたバウンディング・ボックスを返します。

      内側の定義によって、shapeの定義する輪郭上の点が、返されたboundsオブジェクトに含まれていると見なされない状況が発生する場合があります。ただし、これは、これらの点が元のshapeにも含まれていないと見なされる場合のみです。

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

      shape.contains(x,y)にはbounds.contains(x,y)が必要

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

      bounds.contains(x,y)shape.contains(x,y)を示さない

      定義:
      getBounds、インタフェースShape
      戻り値:
      Shapeを完全に囲む整数型のRectangle
      導入されたバージョン:
      1.2
      関連項目:
    • getPathIterator

      public PathIterator getPathIterator(AffineTransform at)
      形状の境界を定義する繰返しオブジェクトを返します。 このクラスのイテレータは、マルチ・スレッドに対して安全ではありません。つまりこのCubicCurve2Dクラスでは、このCubicCurve2Dオブジェクトの幾何学的図形を変更すると、この幾何学的図形についてすでに進行中の反復処理に影響を及ぼす場合があります。
      定義:
      getPathIterator、インタフェースShape
      パラメータ:
      at - 反復処理で返されるときに座標に適用されるオプションのAffineTransform、または変換されていない座標が必要な場合はnull
      戻り値:
      このCubicCurve2Dの輪郭の幾何学的図形を一度に1セグメントずつ返すPathIteratorオブジェクト。
      導入されたバージョン:
      1.2
    • getPathIterator

      public PathIterator getPathIterator(AffineTransform at, double flatness)
      平坦化された形状の境界を定義する繰返しオブジェクトを返します。 このクラスのイテレータは、マルチ・スレッドに対して安全ではありません。つまりこのCubicCurve2Dクラスでは、このCubicCurve2Dオブジェクトの幾何学的図形を変更すると、この幾何学的図形についてすでに進行中の反復処理に影響を及ぼす場合があります。
      定義:
      getPathIterator、インタフェースShape
      パラメータ:
      at - 反復処理で返されるときに座標に適用されるオプションのAffineTransform、または変換されていない座標が必要な場合はnull
      flatness - 分割された曲線が終点を結ぶ直線によって置換される前に、指定された曲線の制御点が共線から外れることのできる最大距離
      戻り値:
      このCubicCurve2Dの輪郭の幾何学的図形を一度に1セグメントずつ返すPathIteratorオブジェクト。
      導入されたバージョン:
      1.2
    • clone

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