jp.co.melco.preserv
インタフェース psvAppLineProcessor

既知の実装クラスの一覧:
psvAbstractAppLineProcessor

public interface psvAppLineProcessor

タイトル: アプリケーションライン処理インターフェイス

説明: アプリケーションラインの処理の線種による独自処理を行うためのインターフェイスです。.
なお、線種番号は1〜99まではシステムリザーブとなっています.

導入されたバージョン:
V6.0
作成者:
PreSerV Development Team
関連項目:
psvAppLineData, psvAppLineProcessorManager, psvDefaultAppLineProcessor, psvAbstractAppLineProcessor

メソッドの概要
 java.awt.Shape createAWTShape(psvAppLineData appLineData)
          psvAreaBoundaryの幾何判定に使用するShapeを作成して返します.
 double distance(double x, double y, psvAppLineData appLineData)
          点(x,y)からappLineDataまでの距離を返します.
 void draw(psvScreen screen, psvColor color, psvAppLineData appLineData)
          screenに対して、指定されたcolorでアプリケーションラインを描画します。
 psvCoordinate[] getDrawRangeCoordinates(psvCoordinate[] lineCoordinates, java.lang.String lineType)
          線分を構成する座標lineCoordinatesから、描画範囲の座標を返します.
 psvRegionBounds getRehashBoundingBox(psvScreen screen, psvAppLineData appLineData)
          描画にDC固定の要素がある場合に実装します.
 boolean isInner(psvRegion range, psvAppLineData appLineData)
          rangeで指定された領域内に、appLineDataの一部が含まれるかを返します.
 

メソッドの詳細

draw

public void draw(psvScreen screen,
                 psvColor color,
                 psvAppLineData appLineData)
screenに対して、指定されたcolorでアプリケーションラインを描画します。

パラメータ:
screen - 描画対象スクリーン
color - 描画色
appLineData - 処理を委譲したアプリケーションライン

getRehashBoundingBox

public psvRegionBounds getRehashBoundingBox(psvScreen screen,
                                            psvAppLineData appLineData)
描画にDC固定の要素がある場合に実装します.
それ以外の場合はnullを返します.
この関数は、rehash_bboxの内部処理として実装される為、 Mapの属性アクティブサイズを1に指定しなければ呼ばれません。

パラメータ:
screen - 描画対象スクリーン(座標計算用)
appLineData - 処理を委譲したアプリケーションライン
戻り値:
sx,sy,ex,eyに設定する値

getDrawRangeCoordinates

public psvCoordinate[] getDrawRangeCoordinates(psvCoordinate[] lineCoordinates,
                                               java.lang.String lineType)
線分を構成する座標lineCoordinatesから、描画範囲の座標を返します.
描画範囲が、lineCoordinatesで表される線分に補助線を描画する等、描画範囲から外れるものが 描画される場合、その分を拡張した領域の座標を返します.
戻り値は図形領域の計算に使用します.
このメソッドの戻り値として想定されているものは、 描画範囲がlineCoordinatesと一致している場合は、nullを返します。

パラメータ:
lineCoordinates - 線分を構成する座標
lineType - 線種名称
戻り値:
描画範囲を拡張した座標
関連項目:
psvAbstractAppLineProcessor.toMarginedCoordinates(psvCoordinate[], double)

isInner

public boolean isInner(psvRegion range,
                       psvAppLineData appLineData)
rangeで指定された領域内に、appLineDataの一部が含まれるかを返します.
psvShapeのinner内部処理として呼ばれますが、先にpsvPolylineDataとしての判定を行い、 その結果がtrueである場合はtrueを返す為、このメソッドは呼ばれません。

パラメータ:
range - 指定領域
appLineData - 処理を委譲したアプリケーションライン
戻り値:
true:rangeにappLineDataの一部が含まれる false:そうではない

distance

public double distance(double x,
                       double y,
                       psvAppLineData appLineData)
点(x,y)からappLineDataまでの距離を返します.
psvPolylineDataとして、線分との距離を返す場合は、負の値を返します。

パラメータ:
x - 距離測定対象x座標
y - 距離測定対象y座標
appLineData - 処理を委譲したアプリケーションライン
戻り値:
点からappLineDataまでの距離

createAWTShape

public java.awt.Shape createAWTShape(psvAppLineData appLineData)
psvAreaBoundaryの幾何判定に使用するShapeを作成して返します.
nullを返した場合は、線分としてShapeが作成されます。

パラメータ:
appLineData - 処理を委譲したアプリケーションライン
戻り値:
作成されたShape