com.docomostar.opt.ui.eruption
インタフェース NodeDeformerNode

既知の実装クラスの一覧:
Bone, Camera, EffectSource, Figure, GeometricShape, Light

public interface NodeDeformerNode

シーンノード機能を提供するインタフェースです。

このインタフェースを実装しているクラスに限り、NodeDeformer の子ノードとしてノードアニメーションを実行することができます。


メソッドの概要
 void addSiblingNode(NodeDeformerNode node, Transform offset)
          親(NodeDeformer)に兄弟ノードを追加します。
 NodeDeformer getParent()
          親(NodeDeformer)を取得します。
 int getParentIndex()
          親(NodeDeformer)における自身のインデックスを取得します。
 void getToWorldTransform(Transform dst)
          ワールド座標への変換行列を取得します。
 void getTransform(Transform dst)
          変換行列を取得します。
 boolean isVisible()
          NodeDeformerNode の可視状態を検査します。
 void mulScale(Vector3D v)
          変換行列にスケーリング成分を乗算します。
 void removeFromParent()
          親(NodeDeformer)から自身を除去します。
 void resetTransform()
          ノードの変換行列を初期状態(ロード時の初期値)にします。
 void setIdentity()
          変換行列を恒等変換行列に設定します。
 void setRotateEuler(int type, Vector3D v)
          変換行列の回転をオイラー角で設定します。
 void setTransform(Transform src)
          変換行列を設定します。
 void setTranslate(Vector3D v)
          変換行列の移動成分を設定します。
 void setVisible(boolean visible)
          NodeDeformerNode に対して可視/不可視を設定します。
 

メソッドの詳細

getToWorldTransform

void getToWorldTransform(Transform dst)
ワールド座標への変換行列を取得します。

ワールド座標への変換行列は Figure.updatePosture(Transform)、または TransformTree.relatedMultiply() が呼ばれたときに更新されます。
そのため、最新の変換行列が必要なときには、This の属する Figure が持つ TransformTree に対して TransformTree.relatedMultiply() を呼ぶか、 This の属する Figure に対して Figure.updatePosture(Transform)、または内部的に同 API を呼んで更新処理を行います。
API(Collision3D.isHit(Vector3D, Vector3D, Figure, Transform, GeometricShape[], int[], int),
Collision3D.isHit(GeometricShape, Figure, Transform, Transform, GeometricShape[], int[], int),
Collision3D.isHit(Vector3D, Vector3D, Vector3D, Figure, Transform, GeometricShape[], int[], int),
Collision3D.isInViewVolume(Figure, Transform, Camera, Transform, IndexBuffer[], int[], int),
Collision3D.isInViewVolume(Figure, Transform, Camera, Vector3D, Vector3D, Vector3D, IndexBuffer[], int[], int),
Figure.pick(Vector3D, Vector3D, IntersectionAttributes, int, boolean, Transform),
Graphics3D.drawFigure(Figure, Transform, int),
Graphics3D.addDrawQueueFigure(Figure, Transform))
を事前に呼んでおいた場合、最新の変換行列の情報が dst に反映されるようになります。

パラメータ:
dst - 取得する変換行列の格納先を指定します。
例外:
NullPointerException -
dst が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
カメラのターゲットの親ノードが、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
カメラのターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
カメラの上方向を示すオブジェクトが存在し、親ノードが、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
カメラの上方向を示すオブジェクトが存在し、親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This のクラス ID が Light であり、このターゲットの親ノードが、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This のクラス ID が Light であり、このターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
ArithmeticException -
内部で計算エラーが起きた場合に発生します。

setTransform

void setTransform(Transform src)
変換行列を設定します。

対応する TransformTree ノードの変換行列を設定します。

パラメータ:
src - 設定する変換行列を指定します。
例外:
NullPointerException -
src が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

getTransform

void getTransform(Transform dst)
変換行列を取得します。

対応する TransformTree ノードの変換行列を取得します。

パラメータ:
dst - 取得する変換行列の格納先を指定します。
例外:
NullPointerException -
dst が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

setIdentity

void setIdentity()
変換行列を恒等変換行列に設定します。

対応する TransformTree ノードの変換行列を恒等変換行列に設定します。

例外:
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

setTranslate

void setTranslate(Vector3D v)
変換行列の移動成分を設定します。

対応する TransformTree ノードの移動成分に設定します。

パラメータ:
v - 移動成分を表す Vector3D を指定します。
例外:
NullPointerException -
v が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

setRotateEuler

void setRotateEuler(int type,
                    Vector3D v)
変換行列の回転をオイラー角で設定します。

対応する TransformTree ノードの回転をオイラー角で設定します。

パラメータ:
type - 回転順を指定します。指定できる値は、以下の通りです。
v - 回転成分を表す Vector3D(1.0=360度) を指定します。
例外:
NullPointerException -
v が null の場合に発生します。
IllegalArgumentException -
type が不正な場合に発生します。
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

mulScale

void mulScale(Vector3D v)
変換行列にスケーリング成分を乗算します。

対応する TransformTree ノードにスケーリング成分を乗算します。

パラメータ:
v - 乗算するスケーリング成分を表す Vector3D を指定します。
例外:
NullPointerException -
v が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

resetTransform

void resetTransform()
ノードの変換行列を初期状態(ロード時の初期値)にします。

例外:
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

addSiblingNode

void addSiblingNode(NodeDeformerNode node,
                    Transform offset)
親(NodeDeformer)に兄弟ノードを追加します。

This に対して TransformTree 内の同一 Transform を使用する兄弟ノードを追加します。

パラメータ:
node - 追加する兄弟ノードを指定します。
offset - 追加する兄弟ノードのオフセットを表すTransform を指定します。オフセットなしの場合は null を設定します。
例外:
NullPointerException -
node が null の場合に発生します。
IllegalArgumentException -
node がシーンノードではない場合に発生します。
IllegalArgumentException -
nodeの親(NodeDeformer)が既に存在する場合に発生します。
com.docomostar.lang.IllegalStateException -
Thisの親ノード、または親ノードが Figure を介して参照する TransformTree が存在しない場合に発生します。
IllegalArgumentException -
保持するノード数が追加前の状態で 32767 の場合に発生します。

removeFromParent

void removeFromParent()
親(NodeDeformer)から自身を除去します。

例外:
com.docomostar.lang.IllegalStateException -
Thisの親ノード、または親ノードが Figure を介して参照する TransformTree が存在しない場合に発生します。

setVisible

void setVisible(boolean visible)
NodeDeformerNode に対して可視/不可視を設定します。

This の可視/不可視を設定します。Figure の場合、不可視状態では自身の持つメッシュが描画されなくなるだけであり、自分よりも下の階層は通常通り描画されます。
Light, Camera を不可視にした場合、描画時にそれらは無効となります。

パラメータ:
visible - 指定できる値は、以下の通りです。
  • 可視にする場合 - true
  • 不可視にする場合 - false
例外:
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

isVisible

boolean isVisible()
NodeDeformerNode の可視状態を検査します。

戻り値:
返す値は、以下の通りです。
  • 可視の場合 - true
  • 不可視の場合 - false
例外:
com.docomostar.lang.IllegalStateException -
親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
This の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。

getParent

NodeDeformer getParent()
親(NodeDeformer)を取得します。

戻り値:
親(NodeDeformer) を返します。

getParentIndex

int getParentIndex()
親(NodeDeformer)における自身のインデックスを取得します。

戻り値:
親(NodeDeformer)における自身のインデックスを返します。


NTT DOCOMO,INC.

本製品または文書は著作権法により保護されており、その使用、複製、再頒布および逆コンパイルを制限するライセンスのもとにおいて頒布されます。NTTドコモ(その他に許諾者がある場合は当該許諾者も含めて)の書面による事前の許可なく、本製品および関連する文書のいかなる部分も、いかなる方法によっても複製することが禁じられます。フォントを含む第三者のソフトウェアは、著作権法により保護されており、その提供者からライセンスを受けているものです。

Sun、Sun Microsystems、Java、J2MEおよびJ2SEは、米国およびその他の国における米国 Sun Microsystems,Inc.の商標または登録商標です。サンのロゴマークは、米国 Sun Microsystems, Inc.の登録商標です。

FeliCaは、ソニー株式会社が開発した非接触ICカードの技術方式です。FeliCaは、ソニー株式会社の登録商標です。

「iモード」、「iアプリ/アイアプリ」、「i-αppli」ロゴ、「DoJa」はNTTドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。