jp.go.ipa.jgcl
クラス JgclAxis2Placement2D

java.lang.Object
  |
  +--jp.go.ipa.jgcl.JgclGeometry
        |
        +--jp.go.ipa.jgcl.JgclPlacement
              |
              +--jp.go.ipa.jgcl.JgclPlacement2D
                    |
                    +--jp.go.ipa.jgcl.JgclAxis2Placement2D
すべての実装インタフェース:
java.io.Serializable

public class JgclAxis2Placement2D
extends JgclPlacement2D

2次元 : 原点の座標とX軸の方向で定義された局所座標系 (配置情報) を表すクラス。

このクラスは、 円錐曲線の位置や傾きを示したり、 座標変換の変換行列の指示などに利用されます。

このクラスのインスタンスは、 局所座標系の原点となる点 location と、 局所座標系のX軸の方向を示すベクトル refDirection を保持します。 この局所座標系は、右手系の直交座標系を表すので、 Y軸の方向は、X軸の方向より自動的に決定されます。 X軸の方向を左回りに 90 度回転させた方向がY軸の方向となります。 XY軸の各基底ベクトルは、常にその大きさを 1 に単位化して扱います。 なお、これらのベクトルは JgclGeometrySchemaFunction.build2Axes(refDirection) によって求めています。

location に与える点には特に制限はなく、 JgclPoint2D クラスの任意の点を与えることができますが、 null を指定することはできません。 refDirection に与えるベクトル JgclVector2D は特に単位化されている必要はありませんが、 ゼロベクトルを与えることはできません。 なお、refDirection に与えるベクトルを 指定しない (null を指定する) こともできます。 その場合には、X軸の方向は (1, 0) に等しいものと解釈されます。

バージョン:
$Revision: 1.27 $, $Date: 2000/04/26 09:38:41 $
作成者:
Information-technology Promotion Agency, Japan
関連項目:
JgclAxis2Placement3D, 直列化された形式

フィールドの概要
static JgclAxis2Placement2D origin
          原座標系。
 
コンストラクタの概要
JgclAxis2Placement2D(JgclPoint2D location, JgclVector2D refDirection)
          局所座標系の原点となる点と X軸の方向を示すベクトルを与えて、 オブジェクトを構築する。
 
メソッドの概要
 JgclVector2D[] axes()
          この局所座標系のX/Y軸を表す単位ベクトルを返す。
protected  JgclAxis2Placement2D doTransformBy(boolean reverseTransform, JgclCartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          この点を、与えられた幾何的変換演算子で変換する。
 JgclVector2D effectiveRefDirection()
          この局所座標系のX軸の方向を示す (実質的な) ベクトルを返す。
protected  void output(java.io.PrintWriter writer, int indent)
          出力ストリームに形状情報を出力する。
 JgclVector2D refDirection()
          この局所座標系のX軸の方向を示すベクトルを返す。
 JgclAxis2Placement2D reverseTransformBy(JgclCartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          この点を、与えられた幾何的変換演算子で逆変換する。
 JgclCartesianTransformationOperator2D toCartesianTransformationOperator(double scale)
          この局所座標系から大域的な座標系への座標変換演算子を返す。
 JgclAxis2Placement2D transformBy(boolean reverseTransform, JgclCartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          この点を、与えられた幾何的変換演算子で変換する。
 JgclAxis2Placement2D transformBy(JgclCartesianTransformationOperator2D transformationOperator, java.util.Hashtable transformedGeometries)
          この点を、与えられた幾何的変換演算子で変換する。
 JgclVector2D x()
          この局所座標系のX軸を表す単位ベクトルを返す。
 JgclVector2D y()
          この局所座標系のY軸を表す単位ベクトルを返す。
 
クラス jp.go.ipa.jgcl.JgclPlacement2D から継承したメソッド
dimension, is2D, location
 
クラス jp.go.ipa.jgcl.JgclPlacement から継承したメソッド
isPlacement
 
クラス jp.go.ipa.jgcl.JgclGeometry から継承したメソッド
getClassName, getToleranceForAngle, getToleranceForAngleAsObject, getToleranceForDistance, getToleranceForDistance2, getToleranceForDistanceAsObject, getToleranceForParameter, getToleranceForParameterAsObject, getToleranceForRealNumber, getToleranceForRealNumberAsObject, is1D, is3D, isCurve, isFreeform, isParametric, isPoint, isSurface, isTransformationOperator, isVector, makeIndent, output
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

origin

public static final JgclAxis2Placement2D origin
原座標系。

(0, 0) を原点、(1, 0) を X 軸の方向とする座標系。

コンストラクタの詳細

JgclAxis2Placement2D

public JgclAxis2Placement2D(JgclPoint2D location,
                            JgclVector2D refDirection)
局所座標系の原点となる点と X軸の方向を示すベクトルを与えて、 オブジェクトを構築する。

location が null の場合には、 JgclInvalidArgumentValue の例外を発生する。

refDirection は null でも構わない。 refDirection が null の場合には、 X軸の方向は (1, 0) に等しいものと解釈される。

refDirection の大きさが、 現在設定されている演算条件の距離の許容誤差以下の場合には、 JgclInvalidArgumentValue の例外を発生する。

パラメータ:
location - 原点となる点
refDirection - X軸の方向を示すベクトル
関連項目:
JgclConditionOfOperation, JgclInvalidArgumentValue
メソッドの詳細

refDirection

public JgclVector2D refDirection()
この局所座標系のX軸の方向を示すベクトルを返す。

オブジェクトの構築時に与えられた refDirection を返す。 よって、null が返ることもありうる。

戻り値:
X軸の方向を示すベクトル

effectiveRefDirection

public JgclVector2D effectiveRefDirection()
この局所座標系のX軸の方向を示す (実質的な) ベクトルを返す。

refDirection が null でなければ、refDirection を返す。 refDirection が null ならば、(1, 0) のベクトルを返す。

戻り値:
X軸の方向を示す (実質的な) ベクトル

x

public JgclVector2D x()
この局所座標系のX軸を表す単位ベクトルを返す。
戻り値:
X軸を表す単位ベクトル

y

public JgclVector2D y()
この局所座標系のY軸を表す単位ベクトルを返す。
戻り値:
Y軸を表す単位ベクトル

axes

public JgclVector2D[] axes()
この局所座標系のX/Y軸を表す単位ベクトルを返す。

結果として返る配列の最初の要素がX軸、 二番目の要素がY軸を表す。

戻り値:
X/Y軸を表す単位ベクトルの配列
関連項目:
JgclGeometrySchemaFunction.build2Axes(JgclVector2D)

toCartesianTransformationOperator

public JgclCartesianTransformationOperator2D toCartesianTransformationOperator(double scale)
この局所座標系から大域的な座標系への座標変換演算子を返す。
パラメータ:
scale - スケーリングの量を規定する値
戻り値:
スケーリングを含む座標変換演算子

doTransformBy

protected JgclAxis2Placement2D doTransformBy(boolean reverseTransform,
                                             JgclCartesianTransformationOperator2D transformationOperator,
                                             java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で変換する。

transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。

this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。

this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。

transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。

パラメータ:
reverseTransform - 逆変換するのであれば true、そうでなければ false
transformationOperator - 幾何的変換演算子
transformedGeometries - 既に同様の変換を施した幾何要素を含むハッシュテーブル
戻り値:
変換後の幾何要素

transformBy

public JgclAxis2Placement2D transformBy(boolean reverseTransform,
                                        JgclCartesianTransformationOperator2D transformationOperator,
                                        java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で変換する。

transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。

this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。

this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。

transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。

パラメータ:
reverseTransform - 逆変換するのであれば true、そうでなければ false
transformationOperator - 幾何的変換演算子
transformedGeometries - 既に同様の変換を施した幾何要素を含むハッシュテーブル
戻り値:
変換後の幾何要素

transformBy

public JgclAxis2Placement2D transformBy(JgclCartesianTransformationOperator2D transformationOperator,
                                        java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で変換する。

transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。

this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。

this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。

transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。

パラメータ:
transformationOperator - 幾何的変換演算子
transformedGeometries - 既に同様の変換を施した幾何要素を含むハッシュテーブル
戻り値:
変換後の幾何要素

reverseTransformBy

public JgclAxis2Placement2D reverseTransformBy(JgclCartesianTransformationOperator2D transformationOperator,
                                               java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で逆変換する。

transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。

this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で逆変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。

this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。

transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で逆変換したものを返す。

パラメータ:
transformationOperator - 幾何的変換演算子
transformedGeometries - 既に同様の変換を施した幾何要素を含むハッシュテーブル
戻り値:
逆変換後の幾何要素

output

protected void output(java.io.PrintWriter writer,
                      int indent)
出力ストリームに形状情報を出力する。
オーバーライド:
クラス JgclGeometry 内の output
パラメータ:
writer - PrintWriter
indent - インデントの深さ
関連項目:
JgclGeometry