jp.co.melco.preserv
クラス psvMultiPolygonData

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

public class psvMultiPolygonData
extends psvPolygonData

psvMultiPolygonDataは、中抜きポリゴンを表現する為の図形オブジェクトクラスです。

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

フィールドの概要
protected  java.util.Vector _in_list_p
          内部ポリゴン座標配列
 
クラス jp.co.melco.preserv.psvPolygonData から継承したフィールド
_po
 
クラス jp.co.melco.preserv.psvAnyData から継承したフィールド
_context, _cx, _cy, _dentry, _ex, _ey, _next, _sx, _sy
 
コンストラクタの概要
psvMultiPolygonData()
          コンストラクタです。
psvMultiPolygonData(psvCoordinate[] out, java.util.Vector in, psvContext argdc, psvArgs args)
          psvMultiPolygonを構築します。
psvMultiPolygonData(psvCoordinate[] out, java.util.Vector in, psvContext argdc, psvArgs args, boolean checkInnerPolygonsOverlaps)
          psvMultiPolygonを構築します。
 
メソッドの概要
 java.lang.Object clone()
          このオブジェクトのコピーを作成して返します。
 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オブジェクトを取得します。
 double distance(double x, double y)
          指定した点からポリゴンオブジェクトの最近点までの距離を計算します。
 psvCoordinate[] getInnerPoint(double x, double y)
          指定した座標に最も近いマルチポリゴンの内側ポリゴン座標配列を取得します。
 java.util.Vector getInnerPoints()
          マルチポリゴンの内側ポリゴン座標配列を取得します。
static int[][] getOverlapInnerPolygonsIndices(psvCoordinate[] out, java.util.List in)
          inの要素である内側ポリゴン同士の重なりがある場合、そのインデックスを返します。
 psvRegion getRegion()
          この図形を完全に囲むpsvRegion(左下座標、右上座標)を返します。
 boolean inner(psvRegion range)
          指定した領域内にポリゴンオブジェクトおよびポリゴンオブジェクトの 一部が存在するか検索します。
 boolean intersects(double sx, double sy, double ex, double ey)
          図形の内部領域が指定された矩形領域の内部領域と交差するかどうかを判定します。
static boolean isInnerPolygonsOverlaps(psvCoordinate[] out, java.util.Vector in)
          内側ポリゴン同士の重なりをチェックします。
protected static boolean isIntersects(psvCoordinate[] coordinatesA, psvCoordinate[] coordinatesB)
          coordinatesAで表されるポリゴンとcoordinatesBで表されるポリゴンが交差するかを返します。
 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)
          指定した倍率で図形オブジェクトを拡大/縮小させます。
 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, getPoints, 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
 

フィールドの詳細

_in_list_p

protected java.util.Vector _in_list_p
内部ポリゴン座標配列

コンストラクタの詳細

psvMultiPolygonData

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


psvMultiPolygonData

public psvMultiPolygonData(psvCoordinate[] out,
                           java.util.Vector in,
                           psvContext argdc,
                           psvArgs args)
psvMultiPolygonを構築します。

パラメータ:
out - 外側ポリゴン座標を表すpsvCoordinateの配列
in - 内側ポリゴン座標配列(psvCoordiante[])を管理するVector値
argdc - この図形を表現するコンテキスト情報
args - ポリゴンと関連付けるキーとデータの配列
導入されたバージョン:
V6.0.0

psvMultiPolygonData

public psvMultiPolygonData(psvCoordinate[] out,
                           java.util.Vector in,
                           psvContext argdc,
                           psvArgs args,
                           boolean checkInnerPolygonsOverlaps)
psvMultiPolygonを構築します。

パラメータ:
out - 外側ポリゴン座標を表すpsvCoordinateの配列
in - 内側ポリゴン座標配列(psvCoordiante[])を管理するVector値
argdc - この図形を表現するコンテキスト情報
args - ポリゴンと関連付けるキーとデータの配列
checkInnerPolygonsOverlaps - 内部ポリゴン重なりチェックを行うか.
true: チェックを行う false:チェックを行わない.
falseを指定する場合は、その座標情報が既にチェック済みという前提です。
導入されたバージョン:
V6.0.0
メソッドの詳細

isInnerPolygonsOverlaps

public static boolean isInnerPolygonsOverlaps(psvCoordinate[] out,
                                              java.util.Vector in)
内側ポリゴン同士の重なりをチェックします。

パラメータ:
out - 外側ポリゴン座標を表すpsvCoordinateの配列
in - 内側ポリゴン座標配列(psvCoordiante[])を管理するVector値
戻り値:
true:内側ポリゴン同士の重なりがある場合 false:内側ポリゴン同士の重なりが無い場合

getOverlapInnerPolygonsIndices

public static int[][] getOverlapInnerPolygonsIndices(psvCoordinate[] out,
                                                     java.util.List in)
inの要素である内側ポリゴン同士の重なりがある場合、そのインデックスを返します。

パラメータ:
out - 外側ポリゴン座標を表すpsvCoordinateの配列
in - 内側ポリゴン座標配列(psvCoordiante[])を管理するVector値
戻り値:
内側ポリゴン同士の重なりがある場合は、重なりがある内側ポリゴン同士のインデックス、 内側ポリゴン同士の重なりが無い場合は配列長0の配列を返す.
配列要素は第一の配列要素の数、重複する内部ポリゴンが存在し、第二の配列要素が その組み合わせとなる(配列長は2で固定)

isIntersects

protected static boolean isIntersects(psvCoordinate[] coordinatesA,
                                      psvCoordinate[] coordinatesB)
coordinatesAで表されるポリゴンとcoordinatesBで表されるポリゴンが交差するかを返します。

パラメータ:
coordinatesA - ポリゴン座標列A
coordinatesB - ポリゴン座標列B
戻り値:
true:coordinatesAとcoordinatesBが交差する false:交差しない

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 - 未使用
関連項目:
psvAnyData.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 - 回転の中心座標
rot_y - 回転の中心座標
argDegree - 回転角(反時計回りに1/10度単位に指定する)
atree - psvTreeオブジェクト
callEvent - 未使用
関連項目:
psvAnyData.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 - 拡大/縮小の基準座標
ry - 拡大/縮小の基準座標
sx - X軸方向の倍率
sy - Y軸方向の倍率
atree - psvTreeオブジェクト
callEvent - 未使用
関連項目:
psvAnyData.scale(double, double, double, double, jp.co.melco.preserv.psvTree, boolean)

inner

public boolean inner(psvRegion range)
指定した領域内にポリゴンオブジェクトおよびポリゴンオブジェクトの 一部が存在するか検索します。

定義:
インタフェース psvShape 内の inner
オーバーライド:
クラス psvPolygonData 内の inner
パラメータ:
range - 判定するための領域情報

戻り値:
ポリゴンオブジェクトおよびポリゴンオブジェクトの 一部が領域に含まれていればtrue
導入されたバージョン:
V1.0

distance

public double distance(double x,
                       double y)
指定した点からポリゴンオブジェクトの最近点までの距離を計算します。

定義:
インタフェース psvShape 内の distance
オーバーライド:
クラス psvPolygonData 内の distance
パラメータ:
x - 指定した点の座標
y - 指定した点の座標

戻り値:
指定した点からポリゴンオブジェクトまでの距離
導入されたバージョン:
V1.0

getInnerPoints

public java.util.Vector getInnerPoints()
マルチポリゴンの内側ポリゴン座標配列を取得します。

戻り値:
内側ポリゴン座標配列(psvCoordiante[])を管理するVector値
導入されたバージョン:
V6.0.0

getInnerPoint

public psvCoordinate[] getInnerPoint(double x,
                                     double y)
指定した座標に最も近いマルチポリゴンの内側ポリゴン座標配列を取得します。 内側ポリゴン座標が無い場合、Nullを返します。

戻り値:
内側ポリゴン座標配列
導入されたバージョン:
V6.0.0

clone

public java.lang.Object clone()
このオブジェクトのコピーを作成して返します。

定義:
インタフェース psvShape 内の clone
オーバーライド:
クラス psvPolygonData 内の clone
戻り値:
このインスタンスの複製
導入されたバージョン:
V6.0.0

readExternal

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

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

writeExternal

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

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

createAWTShape

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

定義:
インタフェース psvShape 内の createAWTShape
オーバーライド:
クラス psvPolygonData 内の createAWTShape
戻り値:
この図形パラメータ値で作成されたAreaを表す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

toString

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

オーバーライド:
クラス psvPolygonData 内の toString
戻り値:
このオブジェクトで定義されている値のString表現