com.docomostar.ui.graphics3d
クラス Light

Object
  上位を拡張 com.docomostar.ui.graphics3d.Object3D
      上位を拡張 com.docomostar.ui.graphics3d.Light

public class Light
extends Object3D
 [iアプリオプションAPI]

光源データを保持する、光源クラスを定義します。

光源の最大数は機種依存です。 最大値は getMaxLights() メソッドにより取得できます。 この値は、レンダリング機能である Graphics3D.renderObject3D(DrawableObject3D, Transform) メソッド呼び出し時に、同時にサポートされる光源の最大数です。

光源オブジェクトは、光源のモード情報、および、 三次元ベクトル オブジェクトを二つ保持します。 ベクトルの一つは光源の位置を、もう一つは光源の向きを意味します。 ベクトル情報は、いずれもワールド座標による指定です。

光源のモードと二つのベクトルの関係は、以下のようになっています。

光源のモード 位置ベクトル 方向ベクトル
AMBIENT 無効無効
DIRECTIONAL無効有効
OMNI 有効無効
SPOT 有効有効
レンダリング時に、方向ベクトルがゼロベクトルであり、 モードが DIRECTIONAL または SPOT の場合には、 自動でベクトル (0, 0, -1) に補正されて扱われます。

setTime(int) メソッド呼び出しによって 現在時刻が変更されても、保持しているデータ内容は変化しません。

導入されたバージョン:
Star-1.0
関連項目:
数値演算に関する共通の定義

フィールドの概要
static int AMBIENT
           環境光源を表す光源のモードの名前です(=128)。
static int DIRECTIONAL
           平行光源を表す光源のモードの名前です(=129)。
static int OMNI
           点光源を表す光源のモードの名前です(=130)。
static int SPOT
           スポット光源を表す光源のモードの名前です(=131)。
 
クラス com.docomostar.ui.graphics3d.Object3D から継承されたフィールド
TYPE_ACTION_TABLE, TYPE_FIGURE, TYPE_FOG, TYPE_GROUP, TYPE_GROUP_MESH, TYPE_LIGHT, TYPE_NONE, TYPE_PRIMITIVE, TYPE_TEXTURE
 
コンストラクタの概要
Light()
           光源オブジェクトを生成します。
 
メソッドの概要
static int getMaxLights()
           レンダリング時に適用可能な光源の最大数を取得します。
 Vector3D getPosition()
           光源の位置を取得します。
 Vector3D getVector()
           光源の向きを取得します。
 void setAttenuation(float constant, float linear, float quadratic)
           光源の減衰に関するパラメータを設定します。
 void setColor(int RGB)
           光源の色を設定します。
 void setIntensity(float intensity)
           光源の強度を設定します。
 void setMode(int mode)
           光源のモードを設定します。
 void setPosition(Vector3D v)
           光源の位置を設定します。
 void setSpotAngle(float angle)
           スポット光源モード用の角度を設定します。
 void setSpotExponent(float exponent)
           スポット光源モード用の輝度分布を設定します。
 void setVector(Vector3D v)
           光源の向きを設定します。
 
クラス com.docomostar.ui.graphics3d.Object3D から継承されたメソッド
createInstance, createInstance, dispose, getTime, getType, setTime
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

AMBIENT

public static final int AMBIENT

環境光源を表す光源のモードの名前です(=128)。

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

DIRECTIONAL

public static final int DIRECTIONAL

平行光源を表す光源のモードの名前です(=129)。

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

OMNI

public static final int OMNI

点光源を表す光源のモードの名前です(=130)。

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

SPOT

public static final int SPOT

スポット光源を表す光源のモードの名前です(=131)。

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

Light

public Light()

光源オブジェクトを生成します。

初期状態は以下のようになります。

メソッドの詳細

setPosition

public void setPosition(Vector3D v)

光源の位置を設定します。

三次元ベクトル オブジェクトへの参照を保持します。 このメソッドが呼び出されたあとに、該当するベクトルの内容が変化 したときには、光源の設定内容が変化します。 このメソッドによる設定内容は、光源のタイプが DIRECTIONAL または AMBIENT のときは利用されません。

パラメータ:
v - ベクトルオブジェクトを指定します。
例外:
UIException -
(ILLEGAL_STATE)
既に dispose() されたオブジェクトに対して呼ばれた場合に発生します。
NullPointerException -
引数 v が null の場合に発生します。

getPosition

public Vector3D getPosition()

光源の位置を取得します。

この光源オブジェクトが保持している、三次元ベクトル オブジェクトへの参照を返します。 該当するベクトルの内容が変化したときには、光源の設定内容は変化します。

戻り値:
光源の向きを表すベクトルオブジェクトを返します。
例外:
UIException -
(ILLEGAL_STATE)
既に dispose() されたオブジェクトに対して呼ばれた場合に発生します。

setVector

public void setVector(Vector3D v)

光源の向きを設定します。

三次元ベクトル オブジェクトへの参照を保持します。 このメソッドが呼び出されたあとに、該当するベ