jp.co.melco.preserv.spatial.geometry
クラス psvCalculateAgent

java.lang.Object
  拡張jp.co.melco.preserv.spatial.geometry.psvCalculateAgent

public class psvCalculateAgent
extends java.lang.Object

幾何オブジェクト同士の演算機能を提供するクラスです。

導入されたバージョン:
Ver.6.0
作成者:
PreSerV Development Team

フィールドの概要
protected  double flatness
          制御点と平坦化されたパスの間で許可される最大の距離です。
protected static java.awt.geom.AffineTransform IDENTITY_TRANSFORMER
          恒等変換を表すアフィン変換オブジェクトです。
protected  int limit
          パスセグメントで許可される最大の反復分割数です。
 
コンストラクタの概要
psvCalculateAgent()
           
 
メソッドの概要
 boolean contains(psvGMObject source, psvGMObject target)
          参照元のGM_Objectが参照先のGM_Objectを包含するか否かを判定します。
 psvDistance distance(psvGMObject source, psvGMObject target)
          指定された2つのGM_Objectの距離を取得します。
protected  double distanceLines(double line1x1, double line1y1, double line1x2, double line1y2, double line2x1, double line2y1, double line2x2, double line2y2)
          指定された直線分間の距離を取得します。
 double getFlatness()
          制御点と平坦化されたパスの間で許可される最大の距離を取得します。
protected  java.awt.geom.PathIterator getFlatteningPathIterator(psvGMOrientableCurve curve)
          指定された曲線の線分に順次アクセスするためのイテレータを取得します。
 int getLimit()
          パスセグメントで許可される最大の反復分割数を取得します。
 boolean intersects(psvGMObject source, psvGMObject target)
          指定された2つのGM_Objectが交差するか否かを判定します。
protected  boolean intersectsLines(double line1x1, double line1y1, double line1x2, double line1y2, double line2x1, double line2y1, double line2x2, double line2y2)
          指定された2直線分が交差するかを返します。
 void setFlatness(double flatness)
          制御点と平坦化されたパスの間で許可される最大の距離を設定します。
 void setLimit(int limit)
          パスセグメントで許可される最大の反復分割数を設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

flatness

protected double flatness
制御点と平坦化されたパスの間で許可される最大の距離です。
初期値は1です。


limit

protected int limit
パスセグメントで許可される最大の反復分割数です。
初期値は10です。


IDENTITY_TRANSFORMER

protected static final java.awt.geom.AffineTransform IDENTITY_TRANSFORMER
恒等変換を表すアフィン変換オブジェクトです。

コンストラクタの詳細

psvCalculateAgent

public psvCalculateAgent()
メソッドの詳細

getFlatness

public double getFlatness()
制御点と平坦化されたパスの間で許可される最大の距離を取得します。
初期値は1です。

戻り値:
制御点と平坦化されたパスの間で許可される最大の距離

setFlatness

public void setFlatness(double flatness)
制御点と平坦化されたパスの間で許可される最大の距離を設定します。

パラメータ:
flatness - 制御点と平坦化されたパスの間で許可される最大の距離

getLimit

public int getLimit()
パスセグメントで許可される最大の反復分割数を取得します。
初期値は10です。

戻り値:
パスセグメントで許可される最大の反復分割数

setLimit

public void setLimit(int limit)
パスセグメントで許可される最大の反復分割数を設定します。

パラメータ:
limit - パスセグメントで許可される最大の反復分割数

distance

public psvDistance distance(psvGMObject source,
                            psvGMObject target)
指定された2つのGM_Objectの距離を取得します。
内部に含む場合の距離は0となります。
引数に指定できるオブジェクトは以下のクラス 及び そのサブクラスです。

・psvGMPoint
・psvGMOrientableCurve
・psvGMSurface
・psvGMComplex
・psvGMAggregate

上記以外のクラスが引数に渡されるとUnsupportedOperationExceptionをスローします。

パラメータ:
source - 比較元のオブジェクト
target - 比較対象のオブジェクト
戻り値:
オブジェクト間の距離
例外:
java.lang.UnsupportedOperationException - 未サポートのクラスが指定された場合

distanceLines

protected double distanceLines(double line1x1,
                               double line1y1,
                               double line1x2,
                               double line1y2,
                               double line2x1,
                               double line2y1,
                               double line2x2,
                               double line2y2)
指定された直線分間の距離を取得します。

パラメータ:
line1x1 - 直線分1座標1x
line1y1 - 直線分1座標1y
line1x2 - 直線分1座標2x
line1y2 - 直線分1座標2y
line2x1 - 直線分2座標1x
line2y1 - 直線分2座標1y
line2x2 - 直線分2座標2x
line2y2 - 直線分2座標2y
戻り値:
直線分間の距離

contains

public boolean contains(psvGMObject source,
                        psvGMObject target)
参照元のGM_Objectが参照先のGM_Objectを包含するか否かを判定します。
包含する場合はtrue、包含しない場合はfalseを返します。
引数に指定できるオブジェクトは以下のクラス 及び そのサブクラスです。

・psvGMPoint
・psvGMOrientableCurve
・psvGMSurface
・psvGMComplex
・psvGMAggregate

上記以外のクラスが引数に渡されるとUnsupportedOperationExceptionをスローします。

パラメータ:
source - 比較元オブジェクト
target - 比較対象オブジェクト
戻り値:
true:包含する、false:包含しない
例外:
java.lang.UnsupportedOperationException - 未サポートのクラスが指定された場合

intersects

public boolean intersects(psvGMObject source,
                          psvGMObject target)
指定された2つのGM_Objectが交差するか否かを判定します。
引数に指定できるオブジェクトは以下のクラス 及び そのサブクラスです。

・psvGMPoint
・psvGMOrientableCurve
・psvGMSurface
・psvGMComplex
・psvGMAggregate

上記以外のクラスが引数に渡されるとUnsupportedOperationExceptionをスローします。

パラメータ:
source - 比較元のオブジェクト
target - 比較対象のオブジェクト
戻り値:
true:交差する、false:交差しない
例外:
java.lang.UnsupportedOperationException - 未サポートのクラスが指定された場合

intersectsLines

protected boolean intersectsLines(double line1x1,
                                  double line1y1,
                                  double line1x2,
                                  double line1y2,
                                  double line2x1,
                                  double line2y1,
                                  double line2x2,
                                  double line2y2)
指定された2直線分が交差するかを返します。

パラメータ:
line1x1 - 線分1開始座標1x
line1y1 - 線分1開始座標1y
line1x2 - 線分1終了座標2x
line1y2 - 線分1終了座標2y
line2x1 - 線分2開始座標1x
line2y1 - 線分2開始座標1y
line2x2 - 線分2終了座標2x
line2y2 - 線分2終了座標2y
戻り値:
2直線分が交差するか

getFlatteningPathIterator

protected java.awt.geom.PathIterator getFlatteningPathIterator(psvGMOrientableCurve curve)
指定された曲線の線分に順次アクセスするためのイテレータを取得します。
線分は直線分に分割されて取得されます。

パラメータ:
curve - 曲線
戻り値:
曲線の線分に順次アクセスするためのイテレータ