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

java.lang.Object
  拡張jp.co.melco.preserv.spatial.geometry.psvDirectPosition
すべての実装インタフェース:
java.io.Serializable

public class psvDirectPosition
extends java.lang.Object
implements java.io.Serializable

直接位置を表すためのデータ型です。
地理情報標準の空間スキーマにおける DirectPosition に対応します。

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

フィールドの概要
protected  java.awt.geom.Point2D point2D
          対応するPoint2Dオブジェクトです。
 
コンストラクタの概要
psvDirectPosition()
          既定の属性値を持つ直接位置オブジェクトを生成します。
psvDirectPosition(double[] coordinate)
          指定された座標値を持つ直接位置オブジェクトを生成します。
psvDirectPosition(double x, double y)
          指定された2次元座標値を持つ直接位置オブジェクトを生成します。
psvDirectPosition(double x, double y, double z)
          指定された3次元座標値を持つ直接位置オブジェクトを生成します。
psvDirectPosition(psvRSCRS coordinateReferenceSystem, double[] coordinate)
          指定された座標系で指定された座標値を持つ直接位置オブジェクトを生成します。
psvDirectPosition(psvRSCRS coordinateReferenceSystem, double x, double y)
          指定された2次元座標値を持つ直接位置オブジェクトを生成します。
psvDirectPosition(psvRSCRS coordinateReferenceSystem, double x, double y, double z)
          指定された3次元座標値を持つ直接位置オブジェクトを生成します。
 
メソッドの概要
protected  void clearCache()
          キャッシュをクリアします。
protected  java.awt.geom.Point2D createPoint2D()
          新しいPoint2Dオブジェクトを生成します。
 boolean equals(java.lang.Object other)
          このオブジェクトと他のオブジェクトが等しいかどうかを示します。
 void fixed()
          幾何属性の編集が確定したことを通知します。
 double[] getCoordinate()
          座標値配列を取得します。
 psvRSCRS getCoordinateReferenceSystem()
          座標参照系を取得します。
 int getDimension()
          次元数を取得します。
 double getX()
          x座標を返します。
 double getY()
          y座標を返します。
 double getZ()
          z座標をかえします。
 boolean isModified()
          幾何属性の編集が行われたか否かを取得します。
 void modified()
          幾何属性が編集されたことを通知します。
protected  java.lang.String paramString()
          保持する属性の文字列表現を作成して返します。
 void setCoordinate(double[] coordinate)
          座標値配列を設定します。
 void setCoordinateReferenceSystem(psvRSCRS coordinateReferenceSystem)
          座標参照系を設定します。
 void setDimension(int dimension)
          次元数を設定します。
 java.awt.geom.Point2D toPoint2D()
          対応するPoint2Dオブジェクトを取得します。
 java.lang.String toString()
          オブジェクトの文字列表現を返します。
 void translate(double dx, double dy)
          現在の座標値を指定された移動量だけ移動します。
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

point2D

protected transient java.awt.geom.Point2D point2D
対応するPoint2Dオブジェクトです。
再利用するため最初の生成以降本キャッシュを使用します。

コンストラクタの詳細

psvDirectPosition

public psvDirectPosition()
既定の属性値を持つ直接位置オブジェクトを生成します。
ここで既定の属性値とは座標値配列がnull 、座標参照系が null 、次元数が 2 となります。


psvDirectPosition

public psvDirectPosition(double[] coordinate)
指定された座標値を持つ直接位置オブジェクトを生成します。
内部的に null のpsvRSCRSオブジェクトを引数に取るコンストラクタを呼び直します。

パラメータ:
coordinate - 座標値

psvDirectPosition

public psvDirectPosition(double x,
                         double y)
指定された2次元座標値を持つ直接位置オブジェクトを生成します。
内部的に null のpsvRSCRSオブジェクトと座標配列を引数に取るコンストラクタを呼び直します。

パラメータ:
x - x座標値
y - y座標値

psvDirectPosition

public psvDirectPosition(double x,
                         double y,
                         double z)
指定された3次元座標値を持つ直接位置オブジェクトを生成します。
内部的に null のpsvRSCRSオブジェクトと座標配列を引数に取るコンストラクタを呼び直します。

パラメータ:
x - x座標値
y - y座標値
z - z座標値

psvDirectPosition

public psvDirectPosition(psvRSCRS coordinateReferenceSystem,
                         double x,
                         double y)
指定された2次元座標値を持つ直接位置オブジェクトを生成します。
内部的に座標参照系のpsvRSCRSオブジェクトと座標配列を引数に取るコンストラクタを呼び直します。

パラメータ:
coordinateReferenceSystem - 座標参照系
x - x座標値
y - y座標値

psvDirectPosition

public psvDirectPosition(psvRSCRS coordinateReferenceSystem,
                         double x,
                         double y,
                         double z)
指定された3次元座標値を持つ直接位置オブジェクトを生成します。
内部的に座標参照系のpsvRSCRSオブジェクトと座標配列を引数に取るコンストラクタを呼び直します。

パラメータ:
coordinateReferenceSystem - 座標参照系
x - x座標値
y - y座標値
z - z座標値

psvDirectPosition

public psvDirectPosition(psvRSCRS coordinateReferenceSystem,
                         double[] coordinate)
指定された座標系で指定された座標値を持つ直接位置オブジェクトを生成します。
内部的には以下のメソッドを順に呼び出します。

setCoordinateReferenceSystem(psvRSCRS)
setCoordinate(double[])
setDimension(int)

次元数は座標値配列の長さで初期化されます。

パラメータ:
coordinateReferenceSystem - 座標参照系
coordinate - 座標値
関連項目:
setCoordinateReferenceSystem(psvRSCRS), setCoordinate(double[]), setDimension(int)
メソッドの詳細

getCoordinate

public double[] getCoordinate()
座標値配列を取得します。
ただし取得できる座標値配列は内部で保持する配列のコピーの為、 配列の中身を外部で変更しても本オブジェクトで管理する配列には 反映されません。
本オブジェクトで管理する座標値配列を変更したい場合は setCoordinate(double[]) メソッドを使用してください。

戻り値:
座標値配列

getX

public double getX()
x座標を返します。

戻り値:
x座標

getY

public double getY()
y座標を返します。

戻り値:
y座標

getZ

public double getZ()
z座標をかえします。
但し、次元数が3未満の場合は0を返します。

戻り値:
z座標

setCoordinate

public void setCoordinate(double[] coordinate)
座標値配列を設定します。
ただし設定された配列オブジェクトをそのまま内部で保持するのではなく、 配列の中身(値)をコピーして保持します。 従って外部で同様の配列を保持しておりそちらの配列の中身を変更しても 本オブジェクトで管理する配列には反映されません。
本オブジェクトで借りする配列の値を変更したい場合は毎回本メソッドを 通じて設定してください。
設定されたオブジェクトがnull 又は 長さが2未満の場合は IllegalArgumentExceptionをスローします。

パラメータ:
coordinate - 座標値配列

getCoordinateReferenceSystem

public psvRSCRS getCoordinateReferenceSystem()
座標参照系を取得します。
未設定の場合は null を返します。

戻り値:
座標参照系

setCoordinateReferenceSystem

public void setCoordinateReferenceSystem(psvRSCRS coordinateReferenceSystem)
座標参照系を設定します。

パラメータ:
coordinateReferenceSystem - 座標参照系

getDimension

public int getDimension()
次元数を取得します。

戻り値:
次元数

setDimension

public void setDimension(int dimension)
次元数を設定します。

パラメータ:
dimension - 次元数

equals

public boolean equals(java.lang.Object other)
このオブジェクトと他のオブジェクトが等しいかどうかを示します。

パラメータ:
other - 比較対象の参照オブジェクト
戻り値:
other 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、
そうでない場合は false
関連項目:
Object.equals(java.lang.Object)

toString

public java.lang.String toString()
オブジェクトの文字列表現を返します。

戻り値:
このオブジェクトの文字列表現
関連項目:
Object.toString()

paramString

protected java.lang.String paramString()
保持する属性の文字列表現を作成して返します。

戻り値:
属性値の文字列表現

toPoint2D

public java.awt.geom.Point2D toPoint2D()
対応するPoint2Dオブジェクトを取得します。
一度生成したPoint2Dオブジェクトは内部で保持し、次回要求時には 再生成を行わず、キャッシュしたPoint2Dオブジェクトを返します。
ただしPoint2Dオブジェクトの生成に失敗した場合はpsvNotYetInitializedExceptionをスローします。

戻り値:
対応するPoint2Dオブジェクト
例外:
psvNotYetInitializedException - 必要な属性が設定前に呼ばれた場合
関連項目:
isModified()

createPoint2D

protected java.awt.geom.Point2D createPoint2D()
新しいPoint2Dオブジェクトを生成します。
ただし座標値が未設定の場合はPoint2Dオブジェクトの生成に失敗し、 psvNotYetInitializedExceptionをスローします。

戻り値:
対応するPoint2Dオブジェクト
例外:
psvNotYetInitializedException - 必要な属性が設定前に呼ばれた場合

clearCache

protected void clearCache()
キャッシュをクリアします。


translate

public void translate(double dx,
                      double dy)
現在の座標値を指定された移動量だけ移動します。

パラメータ:
dx - X軸方向の移動量
dy - Y軸方向の移動量

modified

public void modified()
幾何属性が編集されたことを通知します。


fixed

public void fixed()
幾何属性の編集が確定したことを通知します。
本メソッドはオプション内部で使用するキャッシュ管理の仕組み上で呼び出されるAPIであり、 ユーザが呼び出すべきではありません。
ただしキャッシュに依存する幾何属性(オブジェクト)を独自に追加した場合は 本メソッドをオーバライドし、当該オブジェクトに対してfixedメソッドを呼び出す必要があります。


isModified

public boolean isModified()
幾何属性の編集が行われたか否かを取得します。
編集が行われた場合はtrue、それ以外の場合はfalseを返します。

戻り値:
編集が行われた場合はtrue、それ以外の場合はfalse