|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.co.melco.preserv.psvAbstractAppLineProcessor
psvAppLineProcessorの抽象実装クラスです。
フィールドの概要 | |
protected static int |
E270
線分終了点から270度の方向にマージンを取った点のインデックスを表します。 |
protected static int |
E90
線分終了点から90度の方向にマージンを取った点のインデックスを表します。 |
protected static int |
S270
線分開始点から270度の方向にマージンを取った点のインデックスを表します。 |
protected static int |
S90
線分開始点から90度の方向にマージンを取った点のインデックスを表します。 |
コンストラクタの概要 | |
psvAbstractAppLineProcessor()
|
メソッドの概要 | |
protected static psvCoordinate |
calculateAwayPoint(psvCoordinate pointA,
psvCoordinate pointB,
double distance)
pointAからpointBへの向きで、pointBからdisctance離れた点を計算して返します。 |
protected static double |
calculateIntersectsX(double dx,
double dy,
double dxNext,
double dyNext,
psvCoordinate point,
psvCoordinate nextPoint)
線分1の増分dx,dyと線分2の変化率dxNext,dyNext、線分1上の点point、 線分2上の点nextPointから、線分1と線分2の交点x座標を返します。 |
protected static double |
calculateIntersectsY(double dx,
double dy,
double dxNext,
double dyNext,
psvCoordinate point,
psvCoordinate nextPoint)
線分1の増分dx,dyと線分2の変化率dxNext,dyNext、線分1上の点point、 線分2上の点nextPointから、線分1と線分2の交点y座標を返します。 |
protected void |
drawDcDividedLine(psvScreen screen,
psvCoordinate[] lineCoordinates,
float[] dcIntervals)
screenに対して、dcIntervalsで指定したインターバルで破線等を描画します. |
void |
drawDcDividedLine(psvScreen screen,
psvCoordinate[] lineCoordinates,
int[] dcIntervals)
screenに対して、dcIntervalsで指定したインターバルで破線等を描画します。 |
void |
drawWcDividedLine(psvScreen screen,
psvCoordinate[] lineCoordinates,
double[] wcIntervals)
screenに対して、wcIntervalsで指定したインターバルで破線等を描画します。 |
protected psvCoordinate[] |
getDcDrawRangeCoordinates(psvAppLineData appLineData)
DC描画の範囲座標をappLineDataから取得して返します |
protected static double |
getDistance(psvCoordinate coordinate1,
psvCoordinate coordinate2,
psvCoordinate coordinate)
coordinate1とcoordinate2が表す線分とcoordinateとの距離を返します。 |
protected static double |
getLength(psvCoordinate coordinate1,
psvCoordinate coordinate2)
coordinate1からcoordinate2までの距離を計算して返します。 |
protected static double |
getVectorAngle(psvCoordinate startPoint,
psvCoordinate endPoint)
startPointからendPointへのベクトルとして、角度を計算して返します. |
protected static double |
getVectorAngle(psvCoordinate startPoint,
psvCoordinate endPoint,
psvScreen screen)
startPointからendPointへのベクトルとして、角度を計算して返します. |
protected static boolean |
isIntersects(double dx,
double dy,
psvCoordinate point,
double dxNext,
double dyNext,
psvCoordinate nextPoint)
線分1の増分dx,dyと線分2の変化率dxNext,dyNext、線分1上の点point、 線分2上の点nextPointから、線分1と線分2が交わるかを返します。 |
protected static boolean |
isNearyEqual(double value1,
double value2)
値1と値2がナノ単位の誤差で等しいかを返します。 |
protected static boolean |
isPolygonInner(psvCoordinate[] polygonCoordinates,
psvRegion range)
ポリゴン領域を表すpolygonCoordinatesにrangeの一部が含まれるかを返します。 |
void |
storeDcDrawRangeCoordinates(psvCoordinate[] dcDrawRangeCoordinates,
psvAppLineData appLineData)
DC描画の範囲座標をappLineDataに保持します |
static psvCoordinate[] |
toMarginedCoordinates(psvCoordinate[] lineCoordinates,
double wcMargin)
線分を表すpointsにwcMarginで指定したマージンの分幅があるポリゴンの構成点を計算して返します。 |
protected static psvCoordinate[] |
toMarginedLineCoordinates(psvCoordinate[][] rectCoordinates)
推奨されていません。 線分同士の交点を算出するロジックが含まれ、傾きの似た線分同士は領域制限が無い為、算出される領域は保証されません。 |
protected static psvCoordinate[] |
toMarginedLineCoordinates(psvCoordinate[][] rectCoordinates,
double wcLimit90,
double wcLimit270)
toMarginRectsで計算された矩形の配列から連続する矩形同士の交点を計算し、外周座標配列として返します。 |
protected static psvCoordinate[][] |
toMarginedRects(psvCoordinate[] lineCoordinates,
double wcMargin90,
double wcMargin270)
線分の構成点lineCoordinatesから、wcMargin90,wcMargin270幅を取った矩形の座標配列を返します. |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
インタフェース jp.co.melco.preserv.psvAppLineProcessor から継承したメソッド |
createAWTShape, distance, draw, getDrawRangeCoordinates, getRehashBoundingBox, isInner |
フィールドの詳細 |
protected static final int S90
protected static final int E90
protected static final int S270
protected static final int E270
コンストラクタの詳細 |
public psvAbstractAppLineProcessor()
メソッドの詳細 |
public static psvCoordinate[] toMarginedCoordinates(psvCoordinate[] lineCoordinates, double wcMargin)
lineCoordinates
- 線分の構成点wcMargin
- WC座標での幅
public void drawWcDividedLine(psvScreen screen, psvCoordinate[] lineCoordinates, double[] wcIntervals)
screen
- 描画対象スクリーンlineCoordinates
- 線分の構成点wcIntervals
- 線分と空白の描画間隔.public void drawDcDividedLine(psvScreen screen, psvCoordinate[] lineCoordinates, int[] dcIntervals)
screen
- 描画対象スクリーンlineCoordinates
- 線分の構成点dcIntervals
- 線分と空白の描画間隔.protected void drawDcDividedLine(psvScreen screen, psvCoordinate[] lineCoordinates, float[] dcIntervals)
screen
- 描画対象スクリーンlineCoordinates
- 線分の構成点dcIntervals
- 線分と空白の描画間隔.protected static psvCoordinate[][] toMarginedRects(psvCoordinate[] lineCoordinates, double wcMargin90, double wcMargin270)
lineCoordinates
- 線分の構成点wcMargin90
- ベクトル角度+90度側のマージンwcMargin270
- ベクトル角度+270度側のマージン
protected static psvCoordinate[] toMarginedLineCoordinates(psvCoordinate[][] rectCoordinates)
rectCoordinates
- toMarginRectsで計算された矩形座標配列
toMarginedRects(psvCoordinate[], double, double)
,
toMarginedLineCoordinates(psvCoordinate[][], double, double)
protected static psvCoordinate[] toMarginedLineCoordinates(psvCoordinate[][] rectCoordinates, double wcLimit90, double wcLimit270)
rectCoordinates
- toMarginRectsで計算された矩形座標配列wcLimit90
- 90度側のマージン制限(0以上の場合、制限として有効)wcLimit270
- 270度側のマージン制限(0以上の場合、制限として有効)
toMarginedRects(psvCoordinate[], double, double)
protected static psvCoordinate calculateAwayPoint(psvCoordinate pointA, psvCoordinate pointB, double distance)
pointA
- 点ApointB
- 点Bdistance
- pointBからの距離(メートル)
protected static boolean isNearyEqual(double value1, double value2)
value1
- 値1value2
- 値2
protected static double calculateIntersectsX(double dx, double dy, double dxNext, double dyNext, psvCoordinate point, psvCoordinate nextPoint)
dx
- 線分1のx増分dy
- 線分1のy増分dxNext
- 線分2のx増分dyNext
- 線分2のy増分point
- 線分1上の点nextPoint
- 線分2上の点
protected static double calculateIntersectsY(double dx, double dy, double dxNext, double dyNext, psvCoordinate point, psvCoordinate nextPoint)
dx
- 線分1のx増分dy
- 線分1のy増分dxNext
- 線分2のx増分dyNext
- 線分2のy増分point
- 線分1上の点nextPoint
- 線分2上の点
protected static boolean isIntersects(double dx, double dy, psvCoordinate point, double dxNext, double dyNext, psvCoordinate nextPoint)
dx
- 線分1のx増分dy
- 線分1のy増分dxNext
- 線分2のx増分dyNext
- 線分2のy増分point
- 線分1上の点nextPoint
- 線分2上の点
protected static boolean isPolygonInner(psvCoordinate[] polygonCoordinates, psvRegion range)
polygonCoordinates
- ポリゴン領域座標range
- 領域
protected static double getVectorAngle(psvCoordinate startPoint, psvCoordinate endPoint, psvScreen screen)
startPoint
- 開始点endPoint
- 終了点screen
- 描画スクリーン
protected static double getVectorAngle(psvCoordinate startPoint, psvCoordinate endPoint)
startPoint
- 開始点endPoint
- 終了点
protected static double getLength(psvCoordinate coordinate1, psvCoordinate coordinate2)
coordinate1
- 座標1coordinate2
- 座標2
protected static double getDistance(psvCoordinate coordinate1, psvCoordinate coordinate2, psvCoordinate coordinate)
coordinate1
- 線分の端点1coordinate2
- 線分の端点2coordinate
- 点
Line2D.ptSegDist(double, double, double, double, double, double)
protected psvCoordinate[] getDcDrawRangeCoordinates(psvAppLineData appLineData)
appLineData
- DC描画の範囲座標を保持しているアプリケーションライン
public void storeDcDrawRangeCoordinates(psvCoordinate[] dcDrawRangeCoordinates, psvAppLineData appLineData)
dcDrawRangeCoordinates
- DC描画の範囲座標appLineData
- DC描画の範囲座標を保持するアプリケーションライン
|
|||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |