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

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

public final class MorphDeformer
extends Animatable

Figure.setMorphDeformer(MorphDeformer) によって Figure に関連付けられ、モーフィングアニメーションを担当するクラスです。

Figure の持つ VertexBuffer をベースとし、それとは別に MorphDeformer 生成時に指定した VertexBuffer をターゲットとして、 それらの間でモーフィングの計算を行い、実際の値とします。Figure に BoneDeformer が関連付けられている場合には、 ボーンアニメーション後の頂点に対してモーフィングアニメーションが行われます。なお、ターゲットは最大で MCE_TARGET_MAX 個まで指定できます。 モーフィングの計算は Figure の VertexBuffer を base、ターゲットの重みと VertexBuffer をそれぞれ weighti, targeti (i は [1, MCE_TARGET_MAX ]) としたとき、

で表されます。

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


フィールドの概要
static int MCE_TARGET_MAX
          ターゲットのVertexBufferの最大個数を表します(=4)。
 
クラス 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
 
コンストラクタの概要
MorphDeformer(VertexBuffer[] target)
          MorphDeformer を生成します。
 
メソッドの概要
 VertexBuffer getTargetBuffer(int index)
          ターゲットの VertexBuffer を取得します。
 int getTargetNum()
          ターゲット数を取得します。
 void setWeight(float[] weight)
          各ターゲットに重みを設定します。
 
クラス 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
 

フィールドの詳細

MCE_TARGET_MAX

public static final int MCE_TARGET_MAX
ターゲットのVertexBufferの最大個数を表します(=4)。

関連項目:
定数フィールド値
コンストラクタの詳細

MorphDeformer

public MorphDeformer(VertexBuffer[] target)
MorphDeformer を生成します。

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

パラメータ:
target - VertexBuffer[] を指定します。
例外:
NullPointerException -
target が null の場合に発生します。
NullPointerException -
target の要素が null の場合に発生します。
IllegalArgumentException -
target.length <= 0 または target.length > MCE_TARGET_MAX の場合に発生します。
IllegalArgumentException -
target 間で VertexBuffer の持つ頂点情報の種類が異なる場合に発生します。
IllegalArgumentException -
target 間で VertexBuffer のサイズに異なる要素が存在する場合に発生します。
メソッドの詳細

getTargetBuffer

public final VertexBuffer getTargetBuffer(int index)
ターゲットの VertexBuffer を取得します。

パラメータ:
index - VertexBuffer[] でのインデックスを指定します。
戻り値:
VertexBuffer を返します。
例外:
IllegalArgumentException -
index が [0, ターゲット数 - 1] 以外の場合に発生します。

getTargetNum

public final int getTargetNum()
ターゲット数を取得します。

戻り値:
ターゲット数を返します。

setWeight

public final void setWeight(float[] weight)
各ターゲットに重みを設定します。

パラメータ:
weight - 各ターゲットに設定する重みの配列を指定します。
例外:
NullPointerException -
weight が null の場合に発生します。
IllegalArgumentException -
weight.length とターゲット数が異なる場合に発生します。


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

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