|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--jp.go.ipa.jgcl.JgclGeometry | +--jp.go.ipa.jgcl.JgclPlacement | +--jp.go.ipa.jgcl.JgclPlacement3D | +--jp.go.ipa.jgcl.JgclAxis2Placement3D
3次元 : 原点の座標とZ軸およびX軸を指定する方向で定義された局所座標系 (配置情報) を表すクラス。
このクラスは、 円錐曲線や二次曲面の位置や傾きを示したり、 座標変換の変換行列の指示などに利用されます。
このクラスのインスタンスは、
局所座標系の原点となる点 location
と、
局所座標系のZ軸の方向を示すベクトル axis
および
axis を法線方向とする平面に正投影されることで
X軸の方向を決定するベクトル refDirection
を保持します。
この局所座標系は、右手系の直交座標系を表すので、
Y軸の方向は、Z軸/X軸の方向より自動的に決定されます。
Z軸とX軸の外積方向がY軸の方向になります。
XYZの各基底ベクトルは、常にその大きさを 1 に単位化して扱います。
なお、これらのベクトルは
JgclGeometrySchemaFunction.buildAxes
(axis, refDirection)
によって求めています。
location に与える点には特に制限はなく、
JgclPoint3D
クラスの任意の点を与えることができますが、
null を指定することはできません。
axis および refDirection に与えるベクトル JgclVector3D
は特に単位化されている必要はありませんが、
ゼロベクトルを与えることはできません。
なお、axis および refDirection に与えるベクトルを
指定しない (null を指定する) こともできます。
axis を null とすると、Z軸の方向は (0, 0, 1) に等しいものと解釈されます。
refDirection を null とすると、
refDirection の方向は (1, 0, 0) に等しいものと解釈されます。
また、axis と refDirection は、逆向きを含めて、 同一の方向を指してはいけません。
JgclAxis1Placement3D
,
JgclAxis2Placement2D
, 直列化された形式フィールドの概要 | |
static JgclAxis2Placement3D |
origin
原座標系。 |
コンストラクタの概要 | |
JgclAxis2Placement3D(JgclPoint3D location,
JgclVector3D axis,
JgclVector3D refDirection)
局所座標系の原点となる点と Z軸の方向を示すベクトルおよび X軸の方向を決定するベクトルを与えて、 オブジェクトを構築する。 |
メソッドの概要 | |
JgclVector3D[] |
axes()
この局所座標系のX/Y/Z軸を表す単位ベクトルを返す。 |
JgclVector3D |
axis()
この局所座標系のZ軸の方向を表すベクトルを返す。 |
protected JgclAxis2Placement3D |
doTransformBy(boolean reverseTransform,
JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で変換する。 |
JgclVector3D |
effectiveAxis()
この局所座標系のZ軸の方向を表す (実質的な) ベクトルを返す。 |
JgclVector3D |
effectiveRefDirection()
この局所座標系のX軸の方向を決定する (実質的な) ベクトルを返す。 |
protected void |
output(java.io.PrintWriter writer,
int indent)
出力ストリームに形状情報を出力する。 |
JgclAxis2Placement3D |
parallelTranslate(JgclVector3D moveVec)
この局所座標系の原点となる点を、与えられたベクトルに従って 平行移動させた局所座標系を返す。 |
JgclVector3D |
refDirection()
この局所座標系のX軸の方向を決定するベクトルを返す。 |
JgclAxis2Placement3D |
reverseTransformBy(JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で逆変換する。 |
JgclCartesianTransformationOperator3D |
toCartesianTransformationOperator()
この局所座標系から大域的な座標系への座標変換演算子 (縮尺比 1 : 1) を返す。 |
JgclCartesianTransformationOperator3D |
toCartesianTransformationOperator(double scale)
この局所座標系から大域的な座標系への座標変換演算子を返す。 |
JgclAxis2Placement3D |
transformBy(boolean reverseTransform,
JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で変換する。 |
JgclAxis2Placement3D |
transformBy(JgclCartesianTransformationOperator3D transformationOperator,
java.util.Hashtable transformedGeometries)
この点を、与えられた幾何的変換演算子で変換する。 |
JgclVector3D |
x()
この局所座標系のX軸を表す単位ベクトルを返す。 |
JgclVector3D |
y()
この局所座標系のY軸を表す単位ベクトルを返す。 |
JgclVector3D |
z()
この局所座標系のZ軸を表す単位ベクトルを返す。 |
クラス jp.go.ipa.jgcl.JgclPlacement3D から継承したメソッド |
dimension, is3D, location |
クラス jp.go.ipa.jgcl.JgclPlacement から継承したメソッド |
isPlacement |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public static final JgclAxis2Placement3D origin
(0, 0, 0) を原点、 (0, 0, 1) を Z 軸の方向、 (1, 0, 0) を X 軸の方向とする座標系。
コンストラクタの詳細 |
public JgclAxis2Placement3D(JgclPoint3D location, JgclVector3D axis, JgclVector3D refDirection)
location が null の場合には、 JgclInvalidArgumentValue の例外を発生する。
axis は null でも構わない。 axis が null の場合には、 Z軸の方向は (0, 0, 1) に等しいものと解釈される。
refDirection は null でも構わない。 refDirection が null の場合には、 refDirection の方向は (1, 0, 0) に等しいものと解釈される。
axis あるいは refDirection の大きさが、 現在設定されている演算条件の距離の許容誤差以下の場合には、 JgclInvalidArgumentValue の例外を発生する。
さらに、axis と refDirection の外積の大きさが 現在設定されている演算条件の距離の許容誤差以下の場合にも、 JgclInvalidArgumentValue の例外を発生する。
location
- 局所座標系の原点axis
- Z軸の方向を示すベクトルrefDirection
- X軸の方向を決定するベクトルJgclConditionOfOperation
,
JgclInvalidArgumentValue
メソッドの詳細 |
public JgclVector3D axis()
オブジェクトの構築時に与えられた axis を返す。 よって、null が返ることもありうる。
public JgclVector3D effectiveAxis()
axis が null でなければ、axis を返す。 axis が null ならば、(0, 0, 1) のベクトルを返す。
public JgclVector3D refDirection()
オブジェクトの構築時に与えられた refDirection を返す。 よって、null が返ることもありうる。
public JgclVector3D effectiveRefDirection()
refDirection が null でなければ、refDirection を返す。 refDirection が null ならば、(1, 0, 0) のベクトルを返す。
public JgclVector3D x()
public JgclVector3D y()
public JgclVector3D z()
public JgclVector3D[] axes()
結果として返る配列の最初の要素がX軸、 二番目の要素がY軸、 三番目の要素がZ軸を表す。
JgclGeometrySchemaFunction.buildAxes(JgclVector3D, JgclVector3D)
public JgclAxis2Placement3D parallelTranslate(JgclVector3D moveVec)
moveVec
- 平行移動する方向と量を指定するベクトルpublic JgclCartesianTransformationOperator3D toCartesianTransformationOperator(double scale)
scale
- スケーリングの量を規定する値toCartesianTransformationOperator()
public JgclCartesianTransformationOperator3D toCartesianTransformationOperator()
toCartesianTransformationOperator(double)
protected JgclAxis2Placement3D doTransformBy(boolean reverseTransform, JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。
reverseTransform
- 逆変換するのであれば true、そうでなければ falsetransformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclAxis2Placement3D transformBy(boolean reverseTransform, JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。
reverseTransform
- 逆変換するのであれば true、そうでなければ falsetransformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclAxis2Placement3D transformBy(JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で変換したものを返す。
transformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルpublic JgclAxis2Placement3D reverseTransformBy(JgclCartesianTransformationOperator3D transformationOperator, java.util.Hashtable transformedGeometries)
transformedGeometries は、 変換前の幾何要素をキーとし、 変換後の幾何要素を値とするハッシュテーブルである。
this が transformedGeometries 内にキーとして存在しない場合には、 this を transformationOperator で逆変換したものを返す。 この際にメソッド内部では this をキー、 変換結果を値として transformedGeometries に追加する。
this が transformedGeometries 内に既にキーとして存在する場合には、 実際の変換は行なわず、そのキーに対応する値を返す。 この処理は再帰的に行なわれる。
transformedGeometries は null でも構わない。 transformedGeometries は null の場合には、 常に this を transformationOperator で逆変換したものを返す。
transformationOperator
- 幾何的変換演算子transformedGeometries
- 既に同様の変換を施した幾何要素を含むハッシュテーブルprotected void output(java.io.PrintWriter writer, int indent)
JgclGeometry
内の output
writer
- PrintWriterindent
- インデントの深さJgclGeometry
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |