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

java.lang.Object
  拡張jp.co.melco.preserv.spatial.psvGeometry
      拡張jp.co.melco.preserv.spatial.geometry.psvSpatialGeometry
          拡張jp.co.melco.preserv.spatial.geometry.psvGMObject
              拡張jp.co.melco.preserv.spatial.geometry.psvGMPrimitive
                  拡張jp.co.melco.preserv.spatial.geometry.psvGMOrientablePrimitive
                      拡張jp.co.melco.preserv.spatial.geometry.psvGMOrientableSurface
                          拡張jp.co.melco.preserv.spatial.geometry.psvGMSurface
すべての実装インタフェース:
psvGMSurfacePolygonStructure, psvTransfiniteSet, java.io.Serializable

public class psvGMSurface
extends jp.co.melco.preserv.spatial.geometry.psvGMOrientableSurface
implements psvGMSurfacePolygonStructure

曲面を表す具象クラスです。
地理情報標準の空間スキーマにおけるGM_Surfaceクラスに対応します。
コンストラクタでpsvGMPolygonSurfaceModelを指定した場合、 setModel(psvGMPolygonSurfaceModel)を使用した場合は、内部で面を構成する曲線への 参照のみを持つ簡易構造となり、メモリ効率が上がります。
簡易構造の場合、getPatchが呼ばれた時点では、JPGIS構造を生成するのみです。
setPatch(psvGMSurfacePatch[])を使用して、設定した後、簡易構造は破棄されJPGIS構造となります。
setPatch(psvGMSurfacePatch[])は、座標以外の情報が必要になった場合等に用いられると想定されています。
getPatchCount(),getExteriorGeneratorCount(int),getExteriorGenerator(int, int), getInteriorCount(int),getInteriorGeneratorCount(int, int), getInteriorGenerator(int, int, int)を使用すれば 簡易構造、JPGIS構造を気にする事無く構成曲線にアクセスでき、 簡易構造からJPGIS構造が生成される事はありません。

導入されたバージョン:
Ver.6.0
作成者:
PreSerV Development Team
関連項目:
getPatch(), setModel(psvGMPolygonSurfaceModel), setPatch(psvGMSurfacePatch[]), getPatchCount(), getExteriorGeneratorCount(int), getExteriorGenerator(int, int), getInteriorCount(int), getInteriorGeneratorCount(int, int), getInteriorGenerator(int, int, int), 直列化された形式

フィールドの概要
 
クラス jp.co.melco.preserv.spatial.geometry.psvGMOrientablePrimitive から継承したフィールド
cachedShape
 
コンストラクタの概要
psvGMSurface()
          曲面分を持たない曲面を生成します。
psvGMSurface(psvGMPolygonSurfaceModel surfaceModel)
          surfaceModelで指定された構造を持つ曲面を生成します。
psvGMSurface(psvGMSurfacePatch[] patch)
          指定された曲面分を持つ曲面を生成します。
 
メソッドの概要
protected  boolean containsPatch(psvGMSurfacePatch otherPatch)
          曲面分の一覧に指定された曲面分が含まれるか否かを判定します。
protected  java.awt.Shape createShape()
          本オブジェクトが表すShapeオブジェクトを取得します。
 boolean equals(psvGMObject pointSet)
          このオブジェクトと他のオブジェクトが等しいかどうかを示します。
 void fixed()
          幾何属性の編集が確定したことを通知します。
 psvGMOrientableCurve getExteriorGenerator(int patchIndex, int generatorIndex)
          patchIndexで指定したpatchの外部境界の持つ、 generator(有向曲線)をgeneratorIndexを指定して返します。
 int getExteriorGeneratorCount(int patchIndex)
          patchIndexで指定したpatchの、exterior(外部境界)が持つ generator(有向曲線)の数を返します。
 int getInteriorCount(int patchIndex)
          patchIndexで指定したpatchのinterior(内部境界)の数を返します。
 psvGMOrientableCurve getInteriorGenerator(int patchIndex, int interiorIndex, int generatorIndex)
          patchIndexで指定したpatchが持つ、itenriorIndexで指定した内部境界の、 generator(有向曲線)をgeneratorIndexを指定して返します。
 int getInteriorGeneratorCount(int patchIndex, int interiorIndex)
          patchIndexで指定したpatchの、interior(内部境界)の数を返します。
 java.lang.Class getModelClass()
          構造モデルのクラスを返します。
 psvGMSurfacePatch[] getPatch()
          曲面分の一覧を取得します。
 int getPatchCount()
          patch(曲面分)の数を返します。
 boolean isModified()
          幾何属性の編集が行われたか否かを取得します。
protected  java.lang.String paramString()
          保持する属性値の文字列表現を取得します。
 void setModel(psvGMPolygonSurfaceModel model)
          構造モデルを設定します。
 void setPatch(psvGMSurfacePatch[] patch)
          曲面分の一覧を設定します。
 void setPrimitive(psvGMPrimitive primitive)
          幾何プリミティブを設定します。
 java.awt.Shape toShape()
          本オブジェクトが表すShapeオブジェクトを取得します。
 void translate(double dx, double dy)
          現在の座標値を指定された移動量だけ移動します。
 
クラス jp.co.melco.preserv.spatial.geometry.psvGMOrientablePrimitive から継承したメソッド
clearCachedShape, contains, envelope, getOrientation, getPrimitive, setOrientation
 
クラス jp.co.melco.preserv.spatial.geometry.psvGMPrimitive から継承したメソッド
getComplex, getProxy, setComplex, setProxy
 
クラス jp.co.melco.preserv.spatial.geometry.psvGMObject から継承したメソッド
buffer, centroid, contains, convexHull, coordinateDimension, dimension, distance, equals, getAgent, getCrs, intersects, isSimple, mbRegion, modified, representativePoint, setCrs, toString, transform
 
クラス jp.co.melco.preserv.spatial.geometry.psvSpatialGeometry から継承したメソッド
getShapeForDraw
 
クラス jp.co.melco.preserv.spatial.psvGeometry から継承したメソッド
wrap
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

psvGMSurface

public psvGMSurface()
曲面分を持たない曲面を生成します。


psvGMSurface

public psvGMSurface(psvGMSurfacePatch[] patch)
指定された曲面分を持つ曲面を生成します。
内部的には setPatch(psvGMSurfacePatch[]) を呼び出します。

パラメータ:
patch - 曲面分

psvGMSurface

public psvGMSurface(psvGMPolygonSurfaceModel surfaceModel)
surfaceModelで指定された構造を持つ曲面を生成します。

パラメータ:
surfaceModel - 曲面モデル
メソッドの詳細

getModelClass

public java.lang.Class getModelClass()
構造モデルのクラスを返します。

戻り値:
構造モデルクラス

getPatch

public psvGMSurfacePatch[] getPatch()
曲面分の一覧を取得します。
未設定の場合は null を返します。

戻り値:
曲面分の一覧

setPatch

public void setPatch(psvGMSurfacePatch[] patch)
曲面分の一覧を設定します。 nullが指定された場合 又は 長さが1より小さい場合はIllegalArgumentExceptionをスローします。

パラメータ:
patch - 曲面分の一覧

setModel

public void setModel(psvGMPolygonSurfaceModel model)
構造モデルを設定します。
nullが指定された場合 又は 長さが1より小さい場合はIllegalArgumentExceptionをスローします。

パラメータ:
model - 構造モデル

equals

public boolean equals(psvGMObject pointSet)
このオブジェクトと他のオブジェクトが等しいかどうかを示します。

定義:
インタフェース psvTransfiniteSet 内の equals
オーバーライド:
クラス psvGMOrientablePrimitive 内の equals
パラメータ:
pointSet - 比較対象の参照オブジェクト
戻り値:
pointSet 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、
そうでない場合は false
関連項目:
psvGMOrientablePrimitive.equals(jp.co.melco.preserv.spatial.geometry.psvGMObject)

createShape

protected java.awt.Shape createShape()
クラス psvGMOrientablePrimitive の記述:
本オブジェクトが表すShapeオブジェクトを取得します。
必要な属性が設定前の場合は psvNotYetInitializedException をスローします。

定義:
クラス psvGMOrientablePrimitive 内の createShape
戻り値:
対応するShapeオブジェクト

toShape

public java.awt.Shape toShape()
クラス psvGMOrientablePrimitive の記述:
本オブジェクトが表すShapeオブジェクトを取得します。
必要な属性が設定前の場合は psvNotYetInitializedException をスローします。 内部的にはキャッシュを使用しており、一度生成されたShapeは再利用されます。

オーバーライド:
クラス psvGMOrientablePrimitive 内の toShape
戻り値:
対応するShapeオブジェクト
関連項目:
psvGMOrientablePrimitive.isModified()

containsPatch

protected boolean containsPatch(psvGMSurfacePatch otherPatch)
曲面分の一覧に指定された曲面分が含まれるか否かを判定します。

パラメータ:
otherPatch - 曲面分
戻り値:
含まれる場合はtrue、含まれない場合はfalse

paramString

protected java.lang.String paramString()
クラス psvGMObject の記述:
保持する属性値の文字列表現を取得します。

オーバーライド:
クラス psvGMOrientablePrimitive 内の paramString

translate

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

定義:
クラス psvGMObject 内の translate
パラメータ:
dx - X軸方向の移動量
dy - Y軸方向の移動量

fixed

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

オーバーライド:
クラス psvGMOrientablePrimitive 内の fixed

isModified

public boolean isModified()
クラス psvGMObject の記述:
幾何属性の編集が行われたか否かを取得します。
編集が行われた場合はtrue、それ以外の場合はfalseを返します。
幾何属性の編集の有無の判定は再帰的に自身の属性として設定されたオブジェクトに対しても 行います。

オーバーライド:
クラス psvGMOrientablePrimitive 内の isModified

getPatchCount

public int getPatchCount()
patch(曲面分)の数を返します。

定義:
インタフェース psvGMSurfacePolygonStructure 内の getPatchCount
戻り値:
patchの数を返します。
関連項目:
psvGMSurfacePolygonStructure.getPatchCount()

getInteriorCount

public int getInteriorCount(int patchIndex)
patchIndexで指定したpatchのinterior(内部境界)の数を返します。

定義:
インタフェース psvGMSurfacePolygonStructure 内の getInteriorCount
パラメータ:
patchIndex - 何番目のパッチかを指定
戻り値:
指定パッチの内部境界数
関連項目:
psvGMSurfacePolygonStructure.getInteriorCount(int)

getExteriorGeneratorCount

public int getExteriorGeneratorCount(int patchIndex)
patchIndexで指定したpatchの、exterior(外部境界)が持つ generator(有向曲線)の数を返します。

定義:
インタフェース psvGMSurfacePolygonStructure 内の getExteriorGeneratorCount
パラメータ:
patchIndex - 何番目のパッチかを指定
戻り値:
指定パッチの外部境界が持つ有向曲線数
関連項目:
psvGMSurfacePolygonStructure.getExteriorGeneratorCount(int)

getInteriorGeneratorCount

public int getInteriorGeneratorCount(int patchIndex,
                                     int interiorIndex)
patchIndexで指定したpatchの、interior(内部境界)の数を返します。

定義:
インタフェース psvGMSurfacePolygonStructure 内の getInteriorGeneratorCount
パラメータ:
patchIndex - 何番目のパッチかを指定
interiorIndex - 何番目の内部境界かを指定
戻り値:
指定パッチの内部境界数
関連項目:
psvGMSurfacePolygonStructure.getInteriorGeneratorCount(int, int)

getExteriorGenerator

public psvGMOrientableCurve getExteriorGenerator(int patchIndex,
                                                 int generatorIndex)
patchIndexで指定したpatchの外部境界の持つ、 generator(有向曲線)をgeneratorIndexを指定して返します。

定義:
インタフェース psvGMSurfacePolygonStructure 内の getExteriorGenerator
パラメータ:
patchIndex - 何番目のパッチかを指定
generatorIndex - 何番目の有向曲線かを指定
戻り値:
patchIndex,generatorIndexで指定した有向曲線
関連項目:
psvGMSurfacePolygonStructure.getExteriorGenerator(int, int)

getInteriorGenerator

public psvGMOrientableCurve getInteriorGenerator(int patchIndex,
                                                 int interiorIndex,
                                                 int generatorIndex)
patchIndexで指定したpatchが持つ、itenriorIndexで指定した内部境界の、 generator(有向曲線)をgeneratorIndexを指定して返します。

定義:
インタフェース psvGMSurfacePolygonStructure 内の getInteriorGenerator
パラメータ:
patchIndex - 何番目のパッチかを指定
interiorIndex - 何番目の内部境界かを指定
generatorIndex - 何番目の有向曲線かを指定
戻り値:
patchIndex,interiorIndex,generatorIndexで指定した有向曲線
関連項目:
psvGMSurfacePolygonStructure.getInteriorGenerator(int, int, int)

setPrimitive

public void setPrimitive(psvGMPrimitive primitive)
クラス psvGMOrientablePrimitive の記述:
幾何プリミティブを設定します。

オーバーライド:
クラス psvGMOrientablePrimitive 内の setPrimitive
パラメータ:
primitive - 幾何プリミティブ