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

Object
  上位を拡張 com.docomostar.opt.ui.eruption.Object3D
      上位を拡張 com.docomostar.opt.ui.eruption.Particle
          上位を拡張 com.docomostar.opt.ui.eruption.EffectSource
すべての実装されたインタフェース:
NodeDeformerNode

public final class EffectSource
extends Particle
implements NodeDeformerNode

エフェクトの発生点を表すクラスです。

エフェクトの表現は、MCEファイルからロードしたオブジェクトを描画することによって、実現されます。 エフェクトの発生には雛形としてシードが用いられ、シードには Particle または EffectSource のオブジェクトが設定されています。 また、シードに EffectSource が使用された場合、エフェクトの各種設定は EffectSource に関連付けられた Particle のものを使用します。
EffectSource に対する設定のうち、射出方向、流量は単一の値ではなく、エフェクト全体に対してとり得る値の区間を設定し、指定された区間に収まるランダムな値を実際のパラメータとして用います。

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


フィールドの概要
static int MCE_SHAPE_MODE_FILL
          発生位置の指定:形状全体を表します(=1)。
static int MCE_SHAPE_MODE_LINE
          発生位置の指定:頂点/円周上を表します(=0)。
static int MCE_SHAPE_TYPE_BOX
          発生点の形状の指定:直方体を表します(=5)。
static int MCE_SHAPE_TYPE_CIRCLE
          発生点の形状の指定:円を表します(=3)。
static int MCE_SHAPE_TYPE_LINE
          発生点の形状の指定:線を表します(=1)。
static int MCE_SHAPE_TYPE_POINT
          発生点の形状の指定:点を表します(=0)。
static int MCE_SHAPE_TYPE_RECTANGLE
          発生点の形状の指定:長方形を表します(=2)。
static int MCE_SHAPE_TYPE_SPHERE
          発生点の形状の指定:球を表します(=4)。
 
クラス 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
 
メソッドの概要
 void addSiblingNode(NodeDeformerNode node, Transform offset)
          親(NodeDeformer)に兄弟ノードを追加します。
 void bindTexture(TextureTable textures)
          テクスチャを関連付けます。
 NodeDeformer getParent()
          親(NodeDeformer)を取得します。
 int getParentIndex()
          親(NodeDeformer)における自身のインデックスを取得します。
 Object3D getSeed(int ix)
          This にセットされているシードを取得します。
 int getSeedNum()
          This にセットされているシードの個数を取得します。
 void getToWorldTransform(Transform dst)
          ワールド座標への変換行列を取得します。
 void getTransform(Transform dst)
          変換行列を取得します。
 boolean isVisible()
          NodeDeformerNode の可視状態を検査します。
 void mulScale(Vector3D v)
          変換行列にスケーリング成分を乗算します。
 void removeFromParent()
          親(NodeDeformer)から自身を除去します。
 void resetTransform()
          ノードの変換行列を初期状態(ロード時の初期値)にします。
 void setExtFactorAcceleration(Vector3D acc)
          エフェクトの外部加速度を設定します。
 void setFlow(float upperVal, float lowerVal, boolean isLoop)
          エフェクトの流量を設定します。
 void setFrame(float frame)
          フレーム値を設定します。
 void setIdentity()
          変換行列を恒等変換行列に設定します。
 void setLaunchVector(Vector3D upperVal, Vector3D lowerVal, boolean normalize)
          射出方向を設定します。
 void setPosition(Vector3D pos)
          EffectSource の中心位置を設定します。
 void setRotateEuler(int type, Vector3D v)
          変換行列の回転をオイラー角で設定します。
 void setRotation(Vector3D rot)
          EffectSource の姿勢を設定します。
 void setShapeSize(Vector3D size)
          エフェクト発生点の形状の最大サイズを設定します。
 void setShapeType(int shapeType, int shapeMode)
          エフェクト発生点の形状を設定します。
 void setTransform(Transform src)
          変換行列を設定します。
 void setTranslate(Vector3D v)
          変換行列の移動成分を設定します。
 void setVisible(boolean visible)
          NodeDeformerNode に対して可視/不可視を設定します。
 void updateParticles()
          エフェクトを更新します。
 
クラス com.docomostar.opt.ui.eruption.Particle から継承されたメソッド
setColorIniVal, setColorRange, setColorVelocity, setLifeDuration, setMoveSpeed, setMoveSpeedRange, setRotationIniVal, setRotationRange, setRotationVelocity, setScaleIniVal, setScaleRange, setScaleVelocity, setTextureSTRange, setTextureSTVelocity
 
クラス 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_SHAPE_TYPE_POINT

public static final int MCE_SHAPE_TYPE_POINT
発生点の形状の指定:点を表します(=0)。

関連項目:
定数フィールド値

MCE_SHAPE_TYPE_LINE

public static final int MCE_SHAPE_TYPE_LINE
発生点の形状の指定:線を表します(=1)。

関連項目:
定数フィールド値

MCE_SHAPE_TYPE_RECTANGLE

public static final int MCE_SHAPE_TYPE_RECTANGLE
発生点の形状の指定:長方形を表します(=2)。

関連項目:
定数フィールド値

MCE_SHAPE_TYPE_CIRCLE

public static final int MCE_SHAPE_TYPE_CIRCLE
発生点の形状の指定:円を表します(=3)。

関連項目:
定数フィールド値

MCE_SHAPE_TYPE_SPHERE

public static final int MCE_SHAPE_TYPE_SPHERE
発生点の形状の指定:球を表します(=4)。

関連項目:
定数フィールド値

MCE_SHAPE_TYPE_BOX

public static final int MCE_SHAPE_TYPE_BOX
発生点の形状の指定:直方体を表します(=5)。

関連項目:
定数フィールド値

MCE_SHAPE_MODE_LINE

public static final int MCE_SHAPE_MODE_LINE
発生位置の指定:頂点/円周上を表します(=0)。

関連項目:
定数フィールド値

MCE_SHAPE_MODE_FILL

public static final int MCE_SHAPE_MODE_FILL
発生位置の指定:形状全体を表します(=1)。

関連項目:
定数フィールド値
メソッドの詳細

getSeedNum

public final int getSeedNum()
This にセットされているシードの個数を取得します。

戻り値:
シードの個数を返します。

getSeed

public final Object3D getSeed(int ix)
This にセットされているシードを取得します。

パラメータ:
ix - 取得するシードのインデックスを指定します。
戻り値:
シードを返します。シードは、EffectSource または、Particle となります。
例外:
IllegalArgumentException -
インデックスの指定値が範囲外の場合に発生します。

setFrame

public final void setFrame(float frame)
フレーム値を設定します。

フレーム値の設定のみ行います。updateParticles() が呼ばれるまでエフェクトの更新は行われません。 エフェクトは前回のフレーム値と今回のフレーム値の差から物理的な計算でオブジェクトの位置を決定します。モデルのアニメーションのように キーフレームからオブジェクトの位置を指定することはできません。

パラメータ:
frame - フレーム値を指定します。
例外:
IllegalArgumentException -
frame が 0.0 未満の場合に発生します。

updateParticles

public final void updateParticles()
エフェクトを更新します。

現在のフレーム値に基づき、エフェクトを更新します。


setLaunchVector

public final void setLaunchVector(Vector3D upperVal,
                                  Vector3D lowerVal,
                                  boolean normalize)
射出方向を設定します。

エフェクトの射出方向の各成分が、正規化なしの状態で [lowerVal, upperVal] の範囲に収まるように設定します。 射出方向のチェックは x, y, z の順で行われ、途中でエラーになった場合、それよりも前の値は引数のものに変更されます。

パラメータ:
upperVal - 射出方向の各成分の上限値を示すベクトルを指定します。
lowerVal - 射出方向の各成分の下限値を示すベクトルを指定します。
normalize - 射出方向ベクトルの正規化を行うか否かを示すフラグを指定します。
例外:
NullPointerException -
upperVal,lowerVal のいずれかが null の場合に発生します。
IllegalArgumentException -
upperVal.c < lowerVal.c となる成分 c が存在する場合に発生します。

setFlow

public final void setFlow(float upperVal,
                          float lowerVal,
                          boolean isLoop)
エフェクトの流量を設定します。

エフェクトの流量を [lowerVal, upperVal] に設定します。 流量とは、フレーム単位で発生するエフェクトの個数を表します。

パラメータ:
upperVal - 流量の上限値を指定します。
lowerVal - 流量の下限値を指定します。
isLoop - 指定できる値は、以下の通りです。
  • 循環して永久に発生し続ける - true
  • 発生最大数到達で終了 - false
例外:
IllegalArgumentException -
upperVal < lowerVal の場合に発生します。

setExtFactorAcceleration

public final void setExtFactorAcceleration(Vector3D acc)
エフェクトの外部加速度を設定します。

加速度とは、フレーム単位での速度の変化量を表します。
シードに対して設定された加速度とは別に扱われ、シードに設定された速度の上下限の影響を受けません。

パラメータ:
acc - 加速度ベクトルを指定します。
例外:
NullPointerException -
acc が null の場合に発生します。

setPosition

public final void setPosition(Vector3D pos)
EffectSource の中心位置を設定します。

パラメータ:
pos - 中心位置を指定します。
例外:
NullPointerException -
pos が null の場合に発生します。

setRotation

public final void setRotation(Vector3D rot)
EffectSource の姿勢を設定します。

EffectSource の姿勢をオイラー角で設定します。回転順序は x->y->z の順です。

パラメータ:
rot - 各軸の回転角を指定します。
例外:
NullPointerException -
rot が null の場合に発生します。

setShapeType

public final void setShapeType(int shapeType,
                               int shapeMode)
エフェクト発生点の形状を設定します。

パラメータ:
shapeType - 発生点の形状の指定を指定します。指定できる値は、以下の通りです。
shapeMode - MCE_SHAPE_TYPE_RECTANGLE / MCE_SHAPE_TYPE_CIRCLE の場合の発生位置を指定します。指定できる値は、以下の通りです。
例外:
IllegalArgumentException -
shapeType が不正な場合に発生します。
IllegalArgumentException -
shapeMode が不正な場合に発生します。

setShapeSize

public final void setShapeSize(Vector3D size)
エフェクト発生点の形状の最大サイズを設定します。

パラメータ:
size - エフェクト発生点の形状の最大サイズを指定します。 各形状に対してサイズは以下の意味を持ちます。
例外:
NullPointerException -
size が null の場合に発生します。

bindTexture

public final void bindTexture(TextureTable textures)
テクスチャを関連付けます。

This と This に設定されたシードに対して textures に含まれるテクスチャを関連付けます。 シードの中に EffectSource オブジェクトが存在すれば再帰的に関連付けが行われます。 関連付けは This 内の Appearance が持つグローバルIDを介して行います。

パラメータ:
textures - TextureTable オブジェクトを指定します。null 指定時は関連付けが外されます。
例外:
IllegalArgumentException -
textures 内の Texture がミップマップを使用していない状態で、This 内の Appearance の Appearance.MCE_TEXTURE_FILTER_TYPE_MIN に対応するテクスチャフィルタが Appearance.MCE_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST, Appearance.MCE_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST, Appearance.MCE_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR, Appearance.MCE_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR のいずれかの場合に発生します。

getToWorldTransform

public final void getToWorldTransform(Transform dst)
インタフェース NodeDeformerNode の記述:
ワールド座標への変換行列を取得します。

ワールド座標への変換行列は 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 に反映されるようになります。

定義:
インタフェース NodeDeformerNode 内の getToWorldTransform
パラメータ:
dst - 取得する変換行列の格納先を指定します。

setTransform

public final void setTransform(Transform src)
インタフェース NodeDeformerNode の記述:
変換行列を設定します。

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

定義:
インタフェース NodeDeformerNode 内の setTransform
パラメータ:
src - 設定する変換行列を指定します。

getTransform

public final void getTransform(Transform dst)
インタフェース NodeDeformerNode の記述:
変換行列を取得します。

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

定義:
インタフェース NodeDeformerNode 内の getTransform
パラメータ:
dst - 取得する変換行列の格納先を指定します。

setIdentity

public final void setIdentity()
インタフェース NodeDeformerNode の記述:
変換行列を恒等変換行列に設定します。

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

定義:
インタフェース NodeDeformerNode 内の setIdentity

setTranslate

public final void setTranslate(Vector3D v)
インタフェース NodeDeformerNode の記述:
変換行列の移動成分を設定します。

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

定義:
インタフェース NodeDeformerNode 内の setTranslate
パラメータ:
v - 移動成分を表す Vector3D を指定します。

setRotateEuler

public final void setRotateEuler(int type,
                                 Vector3D v)
インタフェース NodeDeformerNode の記述:
変換行列の回転をオイラー角で設定します。

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

定義:
インタフェース NodeDeformerNode 内の setRotateEuler
パラメータ:
type - 回転順を指定します。指定できる値は、以下の通りです。
v - 回転成分を表す Vector3D(1.0=360度) を指定します。

mulScale

public final void mulScale(Vector3D v)
インタフェース NodeDeformerNode の記述:
変換行列にスケーリング成分を乗算します。

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

定義:
インタフェース NodeDeformerNode 内の mulScale
パラメータ:
v - 乗算するスケーリング成分を表す Vector3D を指定します。

resetTransform

public final void resetTransform()
インタフェース NodeDeformerNode の記述:
ノードの変換行列を初期状態(ロード時の初期値)にします。

定義:
インタフェース NodeDeformerNode 内の resetTransform

addSiblingNode

public final void addSiblingNode(NodeDeformerNode node,
                                 Transform offset)
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)に兄弟ノードを追加します。

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

定義:
インタフェース NodeDeformerNode 内の addSiblingNode
パラメータ:
node - 追加する兄弟ノードを指定します。
offset - 追加する兄弟ノードのオフセットを表すTransform を指定します。オフセットなしの場合は null を設定します。

removeFromParent

public final void removeFromParent()
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)から自身を除去します。

定義:
インタフェース NodeDeformerNode 内の removeFromParent

setVisible

public final void setVisible(boolean visible)
インタフェース NodeDeformerNode の記述:
NodeDeformerNode に対して可視/不可視を設定します。

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

定義:
インタフェース NodeDeformerNode 内の setVisible
パラメータ:
visible - 指定できる値は、以下の通りです。
  • 可視にする場合 - true
  • 不可視にする場合 - false

isVisible

public final boolean isVisible()
インタフェース NodeDeformerNode の記述:
NodeDeformerNode の可視状態を検査します。

定義:
インタフェース NodeDeformerNode 内の isVisible
戻り値:
返す値は、以下の通りです。
  • 可視の場合 - true
  • 不可視の場合 - false

getParent

public final NodeDeformer getParent()
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)を取得します。

定義:
インタフェース NodeDeformerNode 内の getParent
戻り値:
親(NodeDeformer) を返します。

getParentIndex

public final int getParentIndex()
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)における自身のインデックスを取得します。

定義:
インタフェース NodeDeformerNode 内の getParentIndex
戻り値:
親(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ドコモの商標または登録商標です。

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