com.docomostar.opt.ui.eruption
クラス NodeDeformer

Object
  上位を拡張 com.docomostar.opt.ui.eruption.Object3D
      上位を拡張 com.docomostar.opt.ui.eruption.Animatable
          上位を拡張 com.docomostar.opt.ui.eruption.NodeDeformer

public final class NodeDeformer
extends Animatable

NodeDeformerNode を実装するクラスのオブジェクトをシーンノードとして子ノードに持ち、それらのノードアニメーション実行単位となるクラスです。

NodeDeformerNode を実装するクラスに関しては NodeDeformerNode をクラス を参照してください。
NodeDeformer は子ノードを一次元配列のようにフラットな形式で保持しており、 API ではインデックスを用いてアクセスします。 NodeDeformer は Figure.setNodeDeformer(NodeDeformer) を介して Figure とその Figure が持つ TransformTree に関連付けられ、それらが表すシーングラフに自身の子ノードを参加させます。 このとき、新たに別の Figure オブジェクトを NodeDeformer の子ノードとして持たせることにより、その Figure が表すシーングラフを現在のものに接木することができます。 ただし Figure の深さは最大 4 段までしか意味を持たず、更新、描画時にそれよりも深いものは無視されます。

端末によって、本クラスはサポートされていない場合があります。未サポートの場合、メソッドが呼び出された時点で UnsupportedOperationException が発生します。


フィールドの概要
 
クラス com.docomostar.opt.ui.eruption.Animatable から継承されたフィールド
MCE_MAX_ACTION_NUM
 
クラス com.docomostar.opt.ui.eruption.Object3D から継承されたフィールド
MCE_CLASS_TYPE_ACTION, MCE_CLASS_TYPE_ACTIONCONTROLLER, MCE_CLASS_TYPE_ACTIONTABLE, MCE_CLASS_TYPE_APPEARANCE, MCE_CLASS_TYPE_BONE, MCE_CLASS_TYPE_BONEDEFORMER, MCE_CLASS_TYPE_CAMERA, MCE_CLASS_TYPE_EFFECTSOURCE, MCE_CLASS_TYPE_FIGURE, MCE_CLASS_TYPE_GEOMETRICSHAPE, MCE_CLASS_TYPE_GRAPHICS3D, MCE_CLASS_TYPE_INDEXBUFFER, MCE_CLASS_TYPE_INTERSECTIONATTRIBUTES, MCE_CLASS_TYPE_LIGHT, MCE_CLASS_TYPE_MORPHDEFORMER, MCE_CLASS_TYPE_NODEDEFORMER, MCE_CLASS_TYPE_OBJECT3D, MCE_CLASS_TYPE_PARTICLE, MCE_CLASS_TYPE_TEXTURE, MCE_CLASS_TYPE_TEXTURETABLE, MCE_CLASS_TYPE_TRACKBALL, MCE_CLASS_TYPE_TRANSFORMTREE, MCE_CLASS_TYPE_VERTEXBUFFER
 
コンストラクタの概要
NodeDeformer(int nodeNum)
          NodeDeformer を生成します。
 
メソッドの概要
 void addNode(NodeDeformerNode node, int tix, Transform offset)
          末尾にノードを追加します。
 NodeDeformerNode getNode(int index)
          ノードを取得します。
 int getNodeNum()
          ノード数を取得します。
 TransformTree getRefTransformTree()
          自身が関連付けられている Figure の持つ TransformTree を取得します。
 int getTransformIndex(int index)
          NodeDeformerNode が参照する TransformTree における Transform のインデックスを取得します。
static boolean isNode(Object obj)
          ノードとしての使用可否を検査します。
 boolean isVisible(int index)
          NodeDeformerNode の可視状態を検査します。
 void removeNode(int index)
          指定したインデックスのノードを除去します。
 void setNode(int index, NodeDeformerNode node, int tix, Transform offset)
          ノードを設定します。
 void setVisible(int index, boolean visible)
          NodeDeformerNode に対して可視/不可視を設定します。
 
クラス com.docomostar.opt.ui.eruption.Animatable から継承されたメソッド
getAction, getAction, getActionController, getFrame, getRefGid, getRefGid, setAction, setAction, setActionController, setFrame, setRefGid, setRefGid, setUseActionControllerNum, updatePosture
 
クラス com.docomostar.opt.ui.eruption.Object3D から継承されたメソッド
dispose, equals, findObject3D, findObject3D, getClassType, getUserId, hashCode, isDisposed, isRenderEnable, setRenderEnable, setUserId
 
クラス Object から継承されたメソッド
getClass, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

NodeDeformer

public NodeDeformer(int nodeNum)
NodeDeformer を生成します。

初期値は以下の通りです。

パラメータ:
nodeNum - ノード数を指定します。
例外:
IllegalArgumentException -
nodeNum が [1, 32767] 以外の場合に発生します。
メソッドの詳細

setNode

public final void setNode(int index,
                          NodeDeformerNode node,
                          int tix,
                          Transform offset)
ノードを設定します。

node が null の場合は設定を解除します。この場合、引数 tix は任意です。

パラメータ:
index - インデックスを指定します。
node - 設定するノードを指定します。
tix - 参照する TransformTree でのインデックスを指定します。
offset - オフセットを表す Transform を指定します。オフセットなしの場合は null を指定します。
例外:
IllegalArgumentException -
index が [0, 最大ノード数 - 1] 以外の場合に発生します。
IllegalArgumentException -
tix が [0, 32766] 以外の場合に発生します。
IllegalArgumentException -
This が Figure に属しており、その Figure が TransformTree を持っている場合に、 tix が TransformTree の範囲外を参照した場合に発生します。
IllegalArgumentException -
シーンノードではない場合に発生します。
IllegalArgumentException -
node != null かつ node が 親の NodeDeformer に関連付けられている場合に発生します。
IllegalArgumentException -
node != null かつ node が GeometricShape オブジェクトで、既に NodeDeformer、Figure や IndexBuffer に関連付けられている場合に発生します。
IllegalArgumentException -
node のタイプが Figure でかつ、node が持つ NodeDeformer が This である場合に発生します。

addNode

public final void addNode(NodeDeformerNode node,
                          int tix,
                          Transform offset)
末尾にノードを追加します。ノード数が 1 つ増えます。

パラメータ:
node - 追加するノードを指定します。
tix - 参照する TransformTree でのインデックスを指定します。
offset - オフセットを表す Transform を指定します。オフセットなしの場合は null を指定します。
例外:
NullPointerException -
node が null の場合に発生します。
IllegalArgumentException -
保持するノード数が追加前の状態で 32767 の場合に発生します。
IllegalArgumentException -
tix が [0, 32766] 以外の場合に発生します。
IllegalArgumentException -
This が Figure に属しており、その Figure が TransformTree を持っている場合に、tix が TransformTree の範囲外を参照した場合に発生します。
IllegalArgumentException -
シーンノードではない場合に発生します。
IllegalArgumentException -
node が 親の NodeDeformer に関連付けられている場合に発生します。
IllegalArgumentException -
node != null かつ node が GeometricShape オブジェクトで、既に NodeDeformer、Figure や IndexBuffer に関連付けられている場合に発生します。
IllegalArgumentException -
node のタイプが Figure でかつ、node が持つ NodeDeformer が This である場合に発生します。

removeNode

public final void removeNode(int index)
指定したインデックスのノードを除去します。

ノード数は 1 つ減り、これ以降のインデックスのノードは 1 つ前に詰められます。

パラメータ:
index - 除去するインデックスを指定します。
例外:
IllegalArgumentException -
index が [0, 最大ノード数 - 1] 以外の場合に発生します。

getNode

public final NodeDeformerNode getNode(int index)
ノードを取得します。

パラメータ:
index - 取得するノードのインデックスを指定します。
戻り値:
ノードを返します。ノードが無いときは null を返します。
例外:
IllegalArgumentException -
index が [0, 最大ノード数 - 1] 以外の場合に発生します。

getNodeNum

public final int getNodeNum()
ノード数を取得します。

戻り値:
ノード数を返します。

getRefTransformTree

public final TransformTree getRefTransformTree()
自身が関連付けられている Figure の持つ TransformTree を取得します。

戻り値:
TransformTree を返します。

isNode

public static final boolean isNode(Object obj)
ノードとしての使用可否を検査します。

パラメータ:
obj - オブジェクトを指定します。
戻り値:
返す値は、以下の通りです。
  • 使用できる場合 - true
  • 使用できない場合 - false

setVisible

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

index で指定した NodeDeformerNode に対して描画可視/不可視の設定をします。 Figure の場合、不可視の状態では This の持つメッシュが描画されなくなるだけであり、This よりも下の階層は通常通り描画されます。 Light, Camera を不可視にした場合、描画時にそれらは無効となります。
不可視にした場合、衝突判定、可視判定、ピッキングの対象からも外れます。

パラメータ:
index - NodeDeformerNode のインデックスを指定します。
visible - 可視/不可視を指定します。指定できる値は、以下の通りです。
  • 可視にする場合 - true
  • 不可視にする場合 - false
例外:
IllegalArgumentException -
index が [0, 最大ノード数 - 1] 以外の場合に発生します。

isVisible

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

index で指定した NodeDeformerNode に対して可視/不可視の状態を取得します。

パラメータ:
index - NodeDeformerNodeのインデックスを指定します。
戻り値:
返す値は、以下の通りです。
  • 可視 - true
  • 不可視 - false
例外:
IllegalArgumentException -
index が [0, 最大ノード数 - 1] 以外の場合に発生します。

getTransformIndex

public final int getTransformIndex(int index)
NodeDeformerNode が参照する TransformTree における Transform のインデックスを取得します。

index 番目の子である NodeDeformerNode がシーングラフ上で参照する TransformTree のノードを示すインデックスを取得します。

パラメータ:
index - NodeDeformerNode のインデックスを指定します。
戻り値:
TransformTree における Transform のインデックスを返します。index に NodeDeformerNode が設定されていない場合は 0 を返します。
例外:
IllegalArgumentException -
index が [0, 最大ノード数 - 1] 以外の場合に発生します。


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ドコモの商標または登録商標です。

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