|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
Objectcom.docomostar.opt.ui.eruption.Object3D
com.docomostar.opt.ui.eruption.Animatable
com.docomostar.opt.ui.eruption.Light
public final class Light
ライトを表すクラスです。
ライトは生成時に環境光、平行光源、点光源、スポットライトの 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 |
| コンストラクタの概要 | |
|---|---|
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 |
| フィールドの詳細 |
|---|
public static final int MCE_LIGHT_TYPE_AMBIENT
public static final int MCE_LIGHT_TYPE_DIRECTION
public static final int MCE_LIGHT_TYPE_OMNI
public static final int MCE_LIGHT_TYPE_SPOT
public static final int MCE_LIGHT_TYPE_NONE
| コンストラクタの詳細 |
|---|
public Light(int type)
Light を生成します。
初期値は以下の通りです。
null
type - 光源タイプを指定します。指定できる値は、以下の通りです。
MCE_LIGHT_TYPE_AMBIENT
MCE_LIGHT_TYPE_DIRECTION
MCE_LIGHT_TYPE_OMNI
MCE_LIGHT_TYPE_SPOT
IllegalArgumentException -
type が不正な場合に発生します。| メソッドの詳細 |
|---|
public final int getLightType()
public final void setColor(int bgr)
bgr - 色(0xBBGGRR)を指定します。public final int getColor()
0xBBGGRR)を返します。
内部では処理に最適化された値が保持されているため、setColor(int) でセットした値とは必ずしも一致せず、若干の誤差を含む場合があります。
public final void setIntensity(float i)
i - 強度を指定します。public final float getIntensity()
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 以外の場合に発生します。public final float getAttenuationConstant()
public final float getAttenuationLinear()
public final float getAttenuationQuadratic()
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 -
public final float getSpotCutoff()
public final float getSpotExponent()
public final void setTargetNode(NodeDeformerNode target)
target - 追従するオブジェクトを指定します。
IllegalArgumentException -
target が NodeDeformer シーンノードではない場合に発生します。
IllegalArgumentException -
target == This の場合に発生します。public final NodeDeformerNode getTargetNode()
null を返します。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 内の getToWorldTransformdst - 取得する変換行列の格納先を指定します。public final void setTransform(Transform src)
NodeDeformerNode の記述:
対応する TransformTree ノードの変換行列を設定します。
NodeDeformerNode 内の setTransformsrc - 設定する変換行列を指定します。public final void getTransform(Transform dst)
NodeDeformerNode の記述:
対応する TransformTree ノードの変換行列を取得します。
NodeDeformerNode 内の getTransformdst - 取得する変換行列の格納先を指定します。public final void setIdentity()
NodeDeformerNode の記述:
対応する TransformTree ノードの変換行列を恒等変換行列に設定します。
NodeDeformerNode 内の setIdentitypublic final void setTranslate(Vector3D v)
NodeDeformerNode の記述:
対応する TransformTree ノードの移動成分に設定します。
NodeDeformerNode 内の setTranslatev - 移動成分を表す Vector3D を指定します。
public final void setRotateEuler(int type,
Vector3D v)
NodeDeformerNode の記述:
対応する TransformTree ノードの回転をオイラー角で設定します。
NodeDeformerNode 内の setRotateEulertype - 回転順を指定します。指定できる値は、以下の通りです。
Transform.MCE_ROTATE_EULER_XYZ
Transform.MCE_ROTATE_EULER_XZY
Transform.MCE_ROTATE_EULER_YXZ
Transform.MCE_ROTATE_EULER_YZX
Transform.MCE_ROTATE_EULER_ZXY
Transform.MCE_ROTATE_EULER_ZYX
v - 回転成分を表す Vector3D(1.0=360度) を指定します。public final void mulScale(Vector3D v)
NodeDeformerNode の記述:
対応する TransformTree ノードにスケーリング成分を乗算します。
NodeDeformerNode 内の mulScalev - 乗算するスケーリング成分を表す Vector3D を指定します。public final void resetTransform()
NodeDeformerNode の記述:
NodeDeformerNode 内の resetTransform
public final void addSiblingNode(NodeDeformerNode node,
Transform offset)
NodeDeformerNode の記述:NodeDeformer)に兄弟ノードを追加します。
This に対して TransformTree 内の同一 Transform を使用する兄弟ノードを追加します。
NodeDeformerNode 内の addSiblingNodenode - 追加する兄弟ノードを指定します。offset - 追加する兄弟ノードのオフセットを表すTransform を指定します。オフセットなしの場合は null を設定します。public final void removeFromParent()
NodeDeformerNode の記述:NodeDeformer)から自身を除去します。
NodeDeformerNode 内の removeFromParentpublic final void setVisible(boolean visible)
NodeDeformerNode の記述:NodeDeformerNode に対して可視/不可視を設定します。
This の可視/不可視を設定します。Figure の場合、不可視状態では自身の持つメッシュが描画されなくなるだけであり、自分よりも下の階層は通常通り描画されます。
Light, Camera を不可視にした場合、描画時にそれらは無効となります。
NodeDeformerNode 内の setVisiblevisible - 指定できる値は、以下の通りです。
true
false
public final boolean isVisible()
NodeDeformerNode の記述:NodeDeformerNode の可視状態を検査します。
NodeDeformerNode 内の isVisibletrue
false
public final NodeDeformer getParent()
NodeDeformerNode の記述:NodeDeformer)を取得します。
NodeDeformerNode 内の getParentNodeDeformer) を返します。public final int getParentIndex()
NodeDeformerNode の記述:NodeDeformer)における自身のインデックスを取得します。
NodeDeformerNode 内の getParentIndexNodeDeformer)における自身のインデックスを返します。
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||
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ドコモの商標または登録商標です。
その他記載された会社名、製品名などは該当する各社の商標または登録商標です。