jp.co.melco.preserv
クラス psvDefaultAppLineProcessor

java.lang.Object
  拡張jp.co.melco.preserv.psvAbstractAppLineProcessor
      拡張jp.co.melco.preserv.psvDefaultAppLineProcessor
すべての実装インタフェース:
psvAppLineProcessor

public class psvDefaultAppLineProcessor
extends psvAbstractAppLineProcessor

タイトル: psvAppLineProcessorデフォルト実装クラス

説明: psvAppLineProcessorデフォルト実装クラスです.
本クラスの線種定義は、デフォルトでサポートされます。psvAppLineProcessorManagerの定義ファイルに定義する必要はありません.
ISO線種等で示される15種類の線種の実装を持ちますが、これらはISOやJIS準拠を保証するものではありません。

また、本クラスで指定可能な線種は、line_attribは線幅のみ反映されます。また、塗り潰し属性は反映されません.
線幅が1以上の場合は、rehash_bboxを使用している為、Mapの属性アクティブサイズを1に指定する必要があります。

本クラスで実装されている線種は下記の通りです。

No. 項目名 フィールド名 定数値
1 実線の線種を表します。  LINE_TYPE_CONTINUOUS “1”
2 破線の線種を表します。 LINE_TYPE_DASHED “2”
3 跳び破線の線種を表します。  LINE_TYPE_DASHED_SPACED “3”
4 一点長鎖線の線種を表します。  LINE_TYPE_LONG_DASHED_DOTTED “4”
5 二点長鎖線の線種を表します。  LINE_TYPE_LONG_DASHED_DOUBLE_DOTTED “5”
6 三点長鎖線の線種を表します。  LINE_TYPE_LONG_DASHED_TRIPLICATE_DOTTED “6”
7 点線の線種を表します。 LINE_TYPE_DOTTED “7”
8 一点鎖線の線種を表します。 LINE_TYPE_CHAIN “8”
9 二点鎖線の線種を表します。 LINE_TYPE_CHAIN_DOUBLE_DASH “9”
10 一点短鎖線の線種を表します。 LINE_TYPE_DASHED_DOTTED “10”
11 一点二短鎖線の線種を表します。 LINE_TYPE_DOUBLE_DASHED_DOTTED “11”
12 二点短鎖線の線種を表します。 LINE_TYPE_DASHED_DOUBLE_DOTTED “12”
13 二点二短鎖線の線種を表します。 LINE_TYPE_DOUBLE_DASHED_DOUBLE_DOTTED “13”
14 三点短鎖線の線種を表します。 LINE_TYPE_DASHED_TRIPLICATE_DOTTED “14”
15 三点二短鎖線の線種を表します。 LINE_TYPE_DOUBLE_DASHED_TRIPLICATE_DOTTED “15”

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

フィールドの概要
static java.lang.String LINE_TYPE_CHAIN
          一点鎖線の線種を表します。
static java.lang.String LINE_TYPE_CHAIN_DOUBLE_DASH
          二点鎖線の線種を表します。
static java.lang.String LINE_TYPE_CONTINUOUS
          実線の線種を表します。
static java.lang.String LINE_TYPE_DASHED
          破線の線種を表します。
static java.lang.String LINE_TYPE_DASHED_DOTTED
          一点短鎖線の線種を表します。
static java.lang.String LINE_TYPE_DASHED_DOUBLE_DOTTED
          二点短鎖線の線種を表します。
static java.lang.String LINE_TYPE_DASHED_SPACED
          跳び破線の線種を表します。
static java.lang.String LINE_TYPE_DASHED_TRIPLICATE_DOTTED
          三点短鎖線の線種を表します。
static java.lang.String LINE_TYPE_DOTTED
          点線の線種を表します。
static java.lang.String LINE_TYPE_DOUBLE_DASHED_DOTTED
          一点二短鎖線の線種を表します。
static java.lang.String LINE_TYPE_DOUBLE_DASHED_DOUBLE_DOTTED
          二点二短鎖線の線種を表します。
static java.lang.String LINE_TYPE_DOUBLE_DASHED_TRIPLICATE_DOTTED
          三点二短鎖線の線種を表します。
static java.lang.String LINE_TYPE_LONG_DASHED_DOTTED
          一点長鎖線の線種を表します。
static java.lang.String LINE_TYPE_LONG_DASHED_DOUBLE_DOTTED
          二点長鎖線の線種を表します。
static java.lang.String LINE_TYPE_LONG_DASHED_TRIPLICATE_DOTTED
          三点長鎖線の線種を表します。
 
クラス jp.co.melco.preserv.psvAbstractAppLineProcessor から継承したフィールド
E270, E90, S270, S90
 
コンストラクタの概要
psvDefaultAppLineProcessor()
           
 
メソッドの概要
 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の一部が含まれるかを返します.
 
クラス jp.co.melco.preserv.psvAbstractAppLineProcessor から継承したメソッド
calculateAwayPoint, calculateIntersectsX, calculateIntersectsY, drawDcDividedLine, drawDcDividedLine, drawWcDividedLine, getDcDrawRangeCoordinates, getDistance, getLength, getVectorAngle, getVectorAngle, isIntersects, isNearyEqual, isPolygonInner, storeDcDrawRangeCoordinates, toMarginedCoordinates, toMarginedLineCoordinates, toMarginedLineCoordinates, toMarginedRects
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

LINE_TYPE_CONTINUOUS

public static final java.lang.String LINE_TYPE_CONTINUOUS
実線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DASHED

public static final java.lang.String LINE_TYPE_DASHED
破線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DASHED_SPACED

public static final java.lang.String LINE_TYPE_DASHED_SPACED
跳び破線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_LONG_DASHED_DOTTED

public static final java.lang.String LINE_TYPE_LONG_DASHED_DOTTED
一点長鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_LONG_DASHED_DOUBLE_DOTTED

public static final java.lang.String LINE_TYPE_LONG_DASHED_DOUBLE_DOTTED
二点長鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_LONG_DASHED_TRIPLICATE_DOTTED

public static final java.lang.String LINE_TYPE_LONG_DASHED_TRIPLICATE_DOTTED
三点長鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DOTTED

public static final java.lang.String LINE_TYPE_DOTTED
点線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_CHAIN

public static final java.lang.String LINE_TYPE_CHAIN
一点鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_CHAIN_DOUBLE_DASH

public static final java.lang.String LINE_TYPE_CHAIN_DOUBLE_DASH
二点鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DASHED_DOTTED

public static final java.lang.String LINE_TYPE_DASHED_DOTTED
一点短鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DOUBLE_DASHED_DOTTED

public static final java.lang.String LINE_TYPE_DOUBLE_DASHED_DOTTED
一点二短鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DASHED_DOUBLE_DOTTED

public static final java.lang.String LINE_TYPE_DASHED_DOUBLE_DOTTED
二点短鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DOUBLE_DASHED_DOUBLE_DOTTED

public static final java.lang.String LINE_TYPE_DOUBLE_DASHED_DOUBLE_DOTTED
二点二短鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DASHED_TRIPLICATE_DOTTED

public static final java.lang.String LINE_TYPE_DASHED_TRIPLICATE_DOTTED
三点短鎖線の線種を表します。

関連項目:
定数フィールド値

LINE_TYPE_DOUBLE_DASHED_TRIPLICATE_DOTTED

public static final java.lang.String LINE_TYPE_DOUBLE_DASHED_TRIPLICATE_DOTTED
三点二短鎖線の線種を表します。

関連項目:
定数フィールド値
コンストラクタの詳細

psvDefaultAppLineProcessor

public psvDefaultAppLineProcessor()
メソッドの詳細

draw

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

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

getRehashBoundingBox

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

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

createAWTShape

public java.awt.Shape createAWTShape(psvAppLineData appLineData)
インタフェース psvAppLineProcessor の記述:
psvAreaBoundaryの幾何判定に使用するShapeを作成して返します.
nullを返した場合は、線分としてShapeが作成されます。

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

isInner

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

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

getDrawRangeCoordinates

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

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

distance

public double distance(double x,
                       double y,
                       psvAppLineData appLineData)
インタフェース psvAppLineProcessor の記述:
点(x,y)からappLineDataまでの距離を返します.
psvPolylineDataとして、線分との距離を返す場合は、負の値を返します。

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