jp.co.melco.preserv
クラス psvEllipseData

java.lang.Object
  拡張jp.co.melco.preserv.psvAnyData
      拡張jp.co.melco.preserv.psvPolygonData
          拡張jp.co.melco.preserv.psvEllipseData
すべての実装インタフェース:
java.lang.Cloneable, java.io.Externalizable, psvAreaBoundary, psvShape, java.io.Serializable

public class psvEllipseData
extends psvPolygonData
implements java.io.Externalizable

楕円データクラスは、楕円データにおける情報の設定/取得を行うためのクラスです。

導入されたバージョン:
V1.0
バージョン:
V2.0
作成者:
PreSerV Development Team
関連項目:
直列化された形式

入れ子クラスの概要
protected static class psvEllipseData.ellipse
          楕円作成情報クラスです。
 
フィールドの概要
protected  double _bx
          中心X座標です。
protected  double _by
          中心Y座標です。
protected  double _lr
          X軸方向の半径です。
protected  int _rot
          長軸の角度です。
protected  double _sr
          Y軸方向の半径です。
 
クラス jp.co.melco.preserv.psvPolygonData から継承したフィールド
_po
 
クラス jp.co.melco.preserv.psvAnyData から継承したフィールド
_context, _cx, _cy, _dentry, _ex, _ey, _next, _sx, _sy
 
コンストラクタの概要
psvEllipseData()
          コンストラクタです。
psvEllipseData(double cx, double cy, double lr, double sr, int rot, psvContext argdc, psvArgs args)
          コンストラクタです。
psvEllipseData(double cx, double cy, double lr, double sr, int rot, short paint, int picid, psvArgs args)
          コンストラクタです。
 
メソッドの概要
protected static psvCoordinate[] act_draw_4(psvEllipseData.ellipse e, jp.co.melco.preserv.psvPointStack argStack)
          楕円を描画するための4点の座標を計算します。
protected static void act_draw(psvEllipseData.ellipse e, jp.co.melco.preserv.psvPointStack argStack, jp.co.melco.preserv.psvPointStack sStack)
           
 boolean contains(double x, double y)
          指定された座標が、図形の領域内にあるかどうかを判定します。
 boolean contains(double sx, double sy, double ex, double ey)
          図形の内部領域が、指定された矩形領域を完全に包含するかどうかを判定します。
 boolean cover(double sx, double sy, double ex, double ey)
          指定された矩形領域が図形の内部領域を完全に包含するかどうか判定します。
 java.awt.Shape createAWTShape()
          この図形のJava2オブジェクトを取得します。
 psvEllipseArgs get_args()
          楕円パラメータを取得します。
protected static int get_ellipse_00(psvEllipseData.ellipse e, double f_x, double f_y, double to_x, double to_y, double e_10, jp.co.melco.preserv.psvPointStack argStack)
          補完パラメータに従い、ポリライン座標を生成してスタックします。
static psvCoordinate[] get_ellipse_points(double cx, double cy, double lr, double sr, int rot)
          距離4で補完した楕円の点配列を取得します。
static psvCoordinate[] get_ellipse_points(double cx, double cy, double lr, double sr, int rot, int e_10)
          指定パラメータで補完した楕円の点配列を取得します。
protected static psvCoordinate[] get_full_ellipse(psvEllipseData.ellipse e, double e_10)
          楕円の円周上の座標を補完して、座標配列として返します。
static psvCoordinate[] get_round_box_points(double sx, double sy, double ex, double ey, double rad, int deg)
          指定矩形におさまる楕円上の座標配列を取得します。
 double getDegree()
          楕円の回転角度を取得します。
 psvCoordinate getPoint()
          楕円の中心座標を取得します。
 psvRegion getRegion()
          この図形を完全に囲むpsvRegion(左下座標、右上座標)を返します。
 double getXRadius()
          楕円X軸方向の半径を取得します。
 double getYRadius()
          楕円Y軸方向の半径を取得します。
 boolean intersects(double sx, double sy, double ex, double ey)
          図形の内部領域が指定された矩形領域の内部領域と交差するかどうかを判定します。
 void readExternal(java.io.ObjectInput in)
          このオブジェクトの内容を復元します。
 void rotate(double rot_x, double rot_y, int argDegree, psvTree atree, boolean callEvent)
          指定した回転角で楕円を回転します。
 void scale(double rx, double ry, double sx, double sy, psvTree atree, boolean callEvent)
          指定した倍率で楕円を拡大/縮小します。
protected  void set_position(double cx, double cy, double lr, double sr, int rot)
          楕円オブジェクトの矩形を設定します。
 java.lang.String toString()
          このオブジェクトの情報をStringで返します。
 void translate(double trans_x, double trans_y, psvTree atree, boolean callEvent)
          指定した移動量で楕円を移動します。
 void writeExternal(java.io.ObjectOutput out)
          このオブジェクトの内容を保存します。
 
クラス jp.co.melco.preserv.psvPolygonData から継承したメソッド
calc_area, calc_area, clone, distance, getPoints, inner, point_contains, polygon_distance, polygon_inner, polygon_inner, realDraw, set_position, set_range, transform, transform
 
クラス jp.co.melco.preserv.psvAnyData から継承したメソッド
anydata_set_position, attrib, attrib, clearAWTShape, clearChain, color, color, cx, cy, draw_color, draw, draw, draw, erase, ex, ey, get_context, get_layer, get_ref, get_TimeManager, get_values, getAWTShape, init, init, layer, layer, nextChain, nextChain, paramString, pic_id, pic_id, rehash_bbox, rehashp, rotate, scale, set_context, set_position, set_range, set_ref, set_TimeManager, set_values, sx, sy, translate, translate, unlayer, xy2bl, xy2bl, XYrehashp, XYrehashp
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

_bx

protected double _bx
中心X座標です。


_by

protected double _by
中心Y座標です。


_lr

protected double _lr
X軸方向の半径です。


_sr

protected double _sr
Y軸方向の半径です。


_rot

protected int _rot
長軸の角度です。

コンストラクタの詳細

psvEllipseData

public psvEllipseData()
コンストラクタです。


psvEllipseData

public psvEllipseData(double cx,
                      double cy,
                      double lr,
                      double sr,
                      int rot,
                      short paint,
                      int picid,
                      psvArgs args)
コンストラクタです。
楕円ブジェクトを構築します。

パラメータ:
cx - 楕円の中心点X座標(WC座標)
cy - 楕円の中心点Y座標(WC座標)
lr - X軸方向の半径
sr - Y軸方向の半径
rot - 長軸の角度
paint - 塗りつぶし属性
picid - ユーザ定義ID
args - ユーザ定義データ


psvEllipseData

public psvEllipseData(double cx,
                      double cy,
                      double lr,
                      double sr,
                      int rot,
                      psvContext argdc,
                      psvArgs args)
コンストラクタです。
コンテキスト情報を使用して楕円オブジェクトを構築します。

パラメータ:
cx - 楕円の中心点X座標(WC座標)
cy - 楕円の中心点Y座標(WC座標)
lr - X軸方向の半径
sr - Y軸方向の半径
rot - 長軸の角度
argdc - コンテキスト情報
args - ユーザ定義データ
メソッドの詳細

get_args

public psvEllipseArgs get_args()
楕円パラメータを取得します。

戻り値:
楕円パラメータ
関連項目:
psvEllipseArgs

set_position

protected void set_position(double cx,
                            double cy,
                            double lr,
                            double sr,
                            int rot)
楕円オブジェクトの矩形を設定します。

パラメータ:
cx - 楕円の中心点X座標(WC座標)
cy - 楕円の中心点Y座用(WC座標)
lr - X軸方向の半径
sr - Y軸方向の半径
rot - 長軸の角度

get_full_ellipse

protected static psvCoordinate[] get_full_ellipse(psvEllipseData.ellipse e,
                                                  double e_10)
楕円の円周上の座標を補完して、座標配列として返します。

パラメータ:
e - 楕円作成情報クラス
e_10 - 補完パラメータ(座標点列を生成する距離)
戻り値:
座標配列

get_ellipse_00

protected static int get_ellipse_00(psvEllipseData.ellipse e,
                                    double f_x,
                                    double f_y,
                                    double to_x,
                                    double to_y,
                                    double e_10,
                                    jp.co.melco.preserv.psvPointStack argStack)
補完パラメータに従い、ポリライン座標を生成してスタックします。

パラメータ:
e - 楕円作成情報クラス
f_x - 開始点X座標
f_y - 開始点Y座標
to_x - 終了点X座標
to_y - 終了点Y座標
e_10 - 補完パラメータ(座標点列を生成する距離)
argStack - 座標のスタック
戻り値:
1を固定で返します。

act_draw_4

protected static psvCoordinate[] act_draw_4(psvEllipseData.ellipse e,
                                            jp.co.melco.preserv.psvPointStack argStack)
楕円を描画するための4点の座標を計算します。

パラメータ:
e - 楕円パラメータ
argStack - 楕円補完座標のスタック
戻り値:
計算結果得られる4点の座標配列

act_draw

protected static void act_draw(psvEllipseData.ellipse e,
                               jp.co.melco.preserv.psvPointStack argStack,
                               jp.co.melco.preserv.psvPointStack sStack)

get_ellipse_points

public static psvCoordinate[] get_ellipse_points(double cx,
                                                 double cy,
                                                 double lr,
                                                 double sr,
                                                 int rot)
距離4で補完した楕円の点配列を取得します。

パラメータ:
cx - 楕円の中心点X座標(WC座標)
cy - 楕円の中心点Y座標(WC座標)
lr - X軸方向の半径
sr - Y軸方向の半径
rot - 長軸の角度
戻り値:
楕円の点の配列

get_ellipse_points

public static psvCoordinate[] get_ellipse_points(double cx,
                                                 double cy,
                                                 double lr,
                                                 double sr,
                                                 int rot,
                                                 int e_10)
指定パラメータで補完した楕円の点配列を取得します。

パラメータ:
cx - 楕円の中心点X座標(WC座標)
cy - 楕円の中心点Y座標(WC座標)
lr - X軸方向の半径
sr - Y軸方向の半径
rot - 長軸の角度
e_10 - 補完パラメータ(座標点列を生成する距離)
戻り値:
楕円の点の配列

get_round_box_points

public static psvCoordinate[] get_round_box_points(double sx,
                                                   double sy,
                                                   double ex,
                                                   double ey,
                                                   double rad,
                                                   int deg)
指定矩形におさまる楕円上の座標配列を取得します。

パラメータ:
sx - 開始点のX座標
sy - 開始点のY座標
ex - 終了点のX座標
ey - 終了点のY座標
rad - 角の半径
deg - 図形オブジェクトの回転角(反時計回りに1/10度単位)
戻り値:
楕円の点の配列

translate

public void translate(double trans_x,
                      double trans_y,
                      psvTree atree,
                      boolean callEvent)
指定した移動量で楕円を移動します。

定義:
インタフェース psvShape 内の translate
オーバーライド:
クラス psvPolygonData 内の translate
パラメータ:
trans_x - X軸方向の移動量
trans_y - Y軸方向の移動量
atree - 図形を投入しているpsvTreeオブジェクト
callEvent - 未使用
関連項目:
psvPolygonData.translate(double, double, jp.co.melco.preserv.psvTree, boolean)

rotate

public void rotate(double rot_x,
                   double rot_y,
                   int argDegree,
                   psvTree atree,
                   boolean callEvent)
指定した回転角で楕円を回転します。

定義:
インタフェース psvShape 内の rotate
オーバーライド:
クラス psvPolygonData 内の rotate
パラメータ:
rot_x - 回転中心X座標
rot_y - 回転中心Y座標
argDegree - 回転角(反時計回りに1/10度単位)
atree - 図形を投入しているpsvTreeオブジェクト
callEvent - 未使用
関連項目:
psvPolygonData.rotate(double, double, int, jp.co.melco.preserv.psvTree, boolean)

scale

public void scale(double rx,
                  double ry,
                  double sx,
                  double sy,
                  psvTree atree,
                  boolean callEvent)
指定した倍率で楕円を拡大/縮小します。

定義:
インタフェース psvShape 内の scale
オーバーライド:
クラス psvPolygonData 内の scale
パラメータ:
rx - 拡大/縮小の基準点X座標
ry - 拡大/縮小の基準点Y座標
sx - X軸方向の倍率
sy - Y軸方向の倍率
atree - 図形を投入しているpsvTreeオブジェクト
callEvent - 未使用
関連項目:
psvPolygonData.scale(double, double, double, double, jp.co.melco.preserv.psvTree, boolean)

toString

public java.lang.String toString()
このオブジェクトの情報をStringで返します。

オーバーライド:
クラス psvPolygonData 内の toString
戻り値:
このオブジェクトの情報のString表現

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
このオブジェクトの内容を復元します。

定義:
インタフェース java.io.Externalizable 内の readExternal
オーバーライド:
クラス psvPolygonData 内の readExternal
パラメータ:
in - オブジェクトを復元するためのデータ読み取り元のストリーム
例外:
java.lang.ClassNotFoundException - 復元しようとしてるオブジェクトに対応するクラスが見つからない場合
java.io.IOException - 発生する可能性があるすべての入出力例外

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
このオブジェクトの内容を保存します。

定義:
インタフェース java.io.Externalizable 内の writeExternal
オーバーライド:
クラス psvPolygonData 内の writeExternal
パラメータ:
out - オブジェクトを書き込むストリーム
例外:
java.io.IOException - 発生する可能性があるすべての入出力例外

getXRadius

public double getXRadius()
楕円X軸方向の半径を取得します。

戻り値:
X軸方向半径
導入されたバージョン:
V6.0.0

getYRadius

public double getYRadius()
楕円Y軸方向の半径を取得します。

戻り値:
Y軸方向半径
導入されたバージョン:
V6.0.0

getPoint

public psvCoordinate getPoint()
楕円の中心座標を取得します。

戻り値:
楕円中心座標
導入されたバージョン:
V6.0.0

getDegree

public double getDegree()
楕円の回転角度を取得します。

戻り値:
X軸方向0度を基点とした回転角度
導入されたバージョン:
V6.0.0

createAWTShape

public java.awt.Shape createAWTShape()
この図形のJava2オブジェクトを取得します。

定義:
インタフェース psvShape 内の createAWTShape
オーバーライド:
クラス psvPolygonData 内の createAWTShape
戻り値:
この図形パラメータ値で作成されたEllipse2D.Doubleを表すShape値。

contains

public boolean contains(double x,
                        double y)
指定された座標が、図形の領域内にあるかどうかを判定します。

定義:
インタフェース psvAreaBoundary 内の contains
オーバーライド:
クラス psvPolygonData 内の contains
パラメータ:
x - 判定を行うX座標(WC座標)
y - 判定を行うY座標(WC座標)
戻り値:
指定された座標が境界内にある場合はtrue、そうでない場合はfalse
導入されたバージョン:
V6.0.0

contains

public boolean contains(double sx,
                        double sy,
                        double ex,
                        double ey)
図形の内部領域が、指定された矩形領域を完全に包含するかどうかを判定します。

定義:
インタフェース psvAreaBoundary 内の contains
オーバーライド:
クラス psvPolygonData 内の contains
パラメータ:
sx - 矩形領域左下開始X座標(WC座標)
sy - 矩形領域左下開始Y座標(WC座標)
ex - 矩形領域右上終了X座標(WC座標)
ey - 矩形領域右上終了Y座標(WC座標)
戻り値:
図形の内部領域が指定された矩形領域を完全に包含する場合はtrue、そうでない場合はfalse
導入されたバージョン:
V6.0.0

intersects

public boolean intersects(double sx,
                          double sy,
                          double ex,
                          double ey)
図形の内部領域が指定された矩形領域の内部領域と交差するかどうかを判定します。

定義:
インタフェース psvAreaBoundary 内の intersects
オーバーライド:
クラス psvPolygonData 内の intersects
パラメータ:
sx - 矩形領域左下開始X座標(WC座標)
sy - 矩形領域左下開始Y座標(WC座標)
ex - 矩形領域右上終了X座標(WC座標)
ey - 矩形領域右上終了Y座標(WC座標)
戻り値:
図形の内部領域と指定された矩形領域の内部領域が交差する場合はtrue、そうでない場合はfalse
導入されたバージョン:
V6.0.0

cover

public boolean cover(double sx,
                     double sy,
                     double ex,
                     double ey)
指定された矩形領域が図形の内部領域を完全に包含するかどうか判定します。

定義:
インタフェース psvAreaBoundary 内の cover
オーバーライド:
クラス psvPolygonData 内の cover
パラメータ:
sx - 矩形領域左下開始X座標(WC座標)
sy - 矩形領域左下開始Y座標(WC座標)
ex - 矩形領域右上終了X座標(WC座標)
ey - 矩形領域右上終了Y座標(WC座標)
戻り値:
指定された矩形領域が図形の内部領域を完全に包含する場合はtrue、そうでない場合はfalse
導入されたバージョン:
V6.0.0

getRegion

public psvRegion getRegion()
この図形を完全に囲むpsvRegion(左下座標、右上座標)を返します。

定義:
インタフェース psvAreaBoundary 内の getRegion
オーバーライド:
クラス psvPolygonData 内の getRegion
戻り値:
psvRegion
導入されたバージョン:
V6.0.0