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

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

public final class Light
extends Animatable
implements NodeDeformerNode

ライトを表すクラスです。

ライトは生成時に環境光、平行光源、点光源、スポットライトの 4 種類の中から選ぶことができます。

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


フィールドの概要
static int MCE_LIGHT_TYPE_AMBIENT
          環境光源を表します(=0)。
static int MCE_LIGHT_TYPE_DIRECTION
          平行光源を表します(=1)。
static int MCE_LIGHT_TYPE_NONE
          光源なしを表します(=-1)。
static int MCE_LIGHT_TYPE_OMNI
          点光源を表します(=2)。
static int MCE_LIGHT_TYPE_SPOT
          スポット光源を表します(=3)。
 
クラス 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
 
コンストラクタの概要
Light(int type)
          指定された光源タイプの Light を生成します。
 
メソッドの概要
 void addSiblingNode(NodeDeformerNode node, Transform offset)
          親(NodeDeformer)に兄弟ノードを追加します。
 float getAttenuationConstant()
          光源の減衰定数を取得します。
 float getAttenuationLinear()
          光源の減衰一次係数を取得します。
 float getAttenuationQuadratic()
          光源の減衰二次係数を取得します。
 int getColor()
          光源の色を取得します。
 float getIntensity()
          光源の強度を取得します。
 int getLightType()
          光源タイプを取得します。
 NodeDeformer getParent()
          親(NodeDeformer)を取得します。
 int getParentIndex()
          親(NodeDeformer)における自身のインデックスを取得します。
 float getSpotCutoff()
          スポット光源のアングルを取得します。
 float getSpotExponent()
          スポット光源の指数を取得します。
 NodeDeformerNode getTargetNode()
          追従するオブジェクトを取得します。
 void getToWorldTransform(Transform dst)
          ワールド座標への変換行列を取得します。
 void getTransform(Transform dst)
          変換行列を取得します。
 boolean isVisible()
          NodeDeformerNode の可視状態を検査します。
 void mulScale(Vector3D v)
          変換行列にスケーリング成分を乗算します。
 void removeFromParent()
          親(NodeDeformer)から自身を除去します。
 void resetTransform()
          ノードの変換行列を初期状態(ロード時の初期値)にします。
 void setAttenuation(float c, float l, float q)
          光源の減衰を設定します。
 void setColor(int bgr)
          光源の色を設定します。
 void setIdentity()
          変換行列を恒等変換行列に設定します。
 void setIntensity(float i)
          光源の強度を設定します。
 void setRotateEuler(int type, Vector3D v)
          変換行列の回転をオイラー角で設定します。
 void setSpot(float coff, float exp)
          スポット光源のアングル、指数を設定します。
 void setTargetNode(NodeDeformerNode target)
          追従するオブジェクトを設定します。
 void setTransform(Transform src)
          変換行列を設定します。
 void setTranslate(Vector3D v)
          変換行列の移動成分を設定します。
 void setVisible(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
 

フィールドの詳細

MCE_LIGHT_TYPE_AMBIENT

public static final int MCE_LIGHT_TYPE_AMBIENT
環境光源を表します(=0)。

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

MCE_LIGHT_TYPE_DIRECTION

public static final int MCE_LIGHT_TYPE_DIRECTION
平行光源を表します(=1)。

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

MCE_LIGHT_TYPE_OMNI

public static final int MCE_LIGHT_TYPE_OMNI
点光源を表します(=2)。

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

MCE_LIGHT_TYPE_SPOT

public static final int MCE_LIGHT_TYPE_SPOT
スポット光源を表します(=3)。

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

MCE_LIGHT_TYPE_NONE

public static final int MCE_LIGHT_TYPE_NONE
光源なしを表します(=-1)。

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

Light

public Light(int type)
指定された光源タイプの Light を生成します。

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

パラメータ:
type - 光源タイプを指定します。指定できる値は、以下の通りです。
例外:
IllegalArgumentException -
type が不正な場合に発生します。
メソッドの詳細

getLightType

public final int getLightType()
光源タイプを取得します。

戻り値:
光源タイプを返します。

setColor

public final void setColor(int bgr)
光源の色を設定します。

パラメータ:
bgr - 色(0xBBGGRR)を指定します。

getColor

public final int getColor()
光源の色を取得します。

戻り値:
色(0xBBGGRR)を返します。

内部では処理に最適化された値が保持されているため、setColor(int) でセットした値とは必ずしも一致せず、若干の誤差を含む場合があります。


setIntensity

public final void setIntensity(float i)
光源の強度を設定します。

パラメータ:
i - 強度を指定します。

getIntensity

public final float getIntensity()
光源の強度を取得します。

戻り値:
強度を返します。

setAttenuation

public final void setAttenuation(float c,
                                 float l,
                                 float q)
光源の減衰を設定します。

パラメータ:
c - 減衰定数を指定します。
l - 減衰一次係数を指定します。
q - 減衰二次係数を指定します。
例外:
IllegalArgumentException -
c, l, q のいずれかが 0.0 未満の場合に発生します。
IllegalArgumentException -
c, l, q のすべてが 0.0 の場合に発生します。
IllegalArgumentException -
ライトタイプが MCE_LIGHT_TYPE_OMNI, MCE_LIGHT_TYPE_SPOT 以外の場合に発生します。

getAttenuationConstant

public final float getAttenuationConstant()
光源の減衰定数を取得します。

戻り値:
減衰定数を返します。

getAttenuationLinear

public final float getAttenuationLinear()
光源の減衰一次係数を取得します。

戻り値:
減衰一次係数を返します。

getAttenuationQuadratic

public final float getAttenuationQuadratic()
光源の減衰二次係数を取得します。

戻り値:
減衰二次係数を返します。

setSpot

public final void setSpot(float coff,
                          float exp)
スポット光源のアングル、指数を設定します。

パラメータ:
coff - スポットアングルを指定します。
exp - スポット指数を指定します。
例外:
IllegalArgumentException -
coff が [0.0, 0.25] 以外 (1.0 = 360度) の場合に発生します。
IllegalArgumentException -
exp が [0.0, 128.0] 以外の場合に発生します。
com.docomostar.lang.IllegalStateException -
スポット光源ではない場合に発生します。

getSpotCutoff

public final float getSpotCutoff()
スポット光源のアングルを取得します。

戻り値:
スポットアングルを返します。

getSpotExponent

public final float getSpotExponent()
スポット光源の指数を取得します。

戻り値:
スポット指数を返します。

setTargetNode

public final void setTargetNode(NodeDeformerNode target)
追従するオブジェクトを設定します。

パラメータ:
target - 追従するオブジェクトを指定します。
例外:
IllegalArgumentException -
target が NodeDeformer シーンノードではない場合に発生します。
IllegalArgumentException -
target == This の場合に発生します。

getTargetNode

public final NodeDeformerNode getTargetNode()
追従するオブジェクトを取得します。

戻り値:
追従するオブジェクトを返します。存在しない場合は null を返します。

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

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