com.nttdocomo.ui.graphics3d
クラス Figure

Object
  拡張com.nttdocomo.ui.graphics3d.Object3D
      拡張com.nttdocomo.ui.graphics3d.DrawableObject3D
          拡張com.nttdocomo.ui.graphics3d.Figure

public class Figure
extends DrawableObject3D

モデルの形状データを保持する、フィギュアクラスを定義します。

フィギュアオブジェクトは、レンダリング機能のメソッド Graphics3D.renderObject3D(DrawableObject3D, Transform) において、モデルの形状データ、つまり、 描画対象となるポリゴン (三角形または四角形のプリミティブ図形) の形状に関する情報を保持します。 この情報をモデルデータと呼ぶこととします。

初期状態ではモデルデータ内の座標そのままの基本姿勢を取ります。 アクションテーブルデータ ( ActionTable ) を使用することで、姿勢を変化させることができます。

メソッド Object3D.createInstance(InputStream) または Object3D.createInstance(byte[]) によって生成された グループ オブジェクトに含まれるフィギュアオブジェクトには、既に アクションテーブル オブジェクトが設定されていることがあります。 この際、モデルデータの定義によっては、 既に設定されている アクションテーブル オブジェクトを再設定することを禁止されている場合があります。

フィギュアオブジェクトには、 モデル用 テクスチャ オブジェクトを 一度に任意の数だけ設定することが可能です。 モデルデータが要求している数より多い場合は、レンダリング時に 余ったデータは無視されます。 モデルデータが要求している数より少ない場合は、不足している データ部分については、ポリゴンのデフォルト色にて塗りつぶしされます。 このときデフォルト色が設定されていない場合、あるいは、 透明に設定されている場合には、塗りつぶしは行われずに、 該当箇所が透けてポリゴンが無くなったかのように見えます。

メソッド Object3D.createInstance(InputStream) または Object3D.createInstance(byte[]) によって生成された グループ オブジェクト に含まれる フィギュアオブジェクトには、既に モデル用の テクスチャ オブジェクト(群)が設定されていることがあります。

フィギュアオブジェクトは、以下のレンダリング用の情報を保持します。

各種パラメータは、初期状態では以下のようになります。
パラメータ初期状態
テクスチャ歪み補正 無効
setPerspectiveCorrectionEnabled(false) が呼ばれた状態
図形用ブレンドモード 無設定 ( DrawableObject3D.BLEND_NORMAL )
透明度 100 パーセント(不透明)

フィギュアオブジェクトの透明度は、設定されている図形用ブレンドモードが DrawableObject3D.BLEND_ALPHA, DrawableObject3D.BLEND_ADD のどちらかのときに有効になります。 ただしデータ内で、透明機能が無効に設定されているポリゴンについては、 設定されている透明度は影響を与えません。

メッシュグループ内のフィギュアオブジェクトに関する、 追記事項を以下に示します。

フィギュアオブジェクトに関する、追記事項を以下に示します。

導入されたバージョン:
DoJa-4.0 (901i)

フィールドの概要
 
クラス com.nttdocomo.ui.graphics3d.DrawableObject3D から継承したフィールド
BLEND_ADD, BLEND_ALPHA, BLEND_NORMAL
 
クラス com.nttdocomo.ui.graphics3d.Object3D から継承したフィールド
TYPE_ACTION_TABLE, TYPE_FIGURE, TYPE_FOG, TYPE_GROUP, TYPE_GROUP_MESH, TYPE_LIGHT, TYPE_NONE, TYPE_PRIMITIVE, TYPE_TEXTURE
 
メソッドの概要
 ActionTable getActionTable()
           モデルデータに設定されている アクションテーブル オブジェクトを取得します。
 int getNumPatterns()
           モデルデータの外見状態数を取得します。
 void setAction(ActionTable action, int index)
           モデルデータに アクションテーブル オブジェクト、および、 アクションデータの番号を設定することで、モデルにアクションを設定します。
 void setBlendMode(int mode)
           図形用ブレンドモードを設定します。
 void setPattern(int pattern)
           モデルデータの外見状態を設定します。
 void setPerspectiveCorrectionEnabled(boolean isOn)
           パースペクティブコレクション(テクスチャの歪み補正)の有効化/無効化を設定します。
 void setTexture(Texture texture)
           モデルデータにマッピングするモデル用 テクスチャ オブジェクトを設定します。
 void setTextures(Texture[] textures)
           モデルデータにマッピングするモデル用 テクスチャ オブジェクトを設定します。
 void setTime(int frame)
           現在時刻を設定して、さらに、その時刻値をフレーム値とみなして、 モデルデータに設定されているアクションデータを用いて姿勢と外見状態を設定します。
 void setTransparency(float v)
           透明度をパーセントで設定します。
 
クラス com.nttdocomo.ui.graphics3d.DrawableObject3D から継承したメソッド
isCross
 
クラス com.nttdocomo.ui.graphics3d.Object3D から継承したメソッド
createInstance, createInstance, dispose, getTime, getType
 
クラス Object から継承したメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

メソッドの詳細

setTexture

public void setTexture(Texture texture)

モデルデータにマッピングするモデル用 テクスチャ オブジェクトを設定します。

このメソッドを呼び出すことは、 setTextures(Texture[]) メソッドに、長さが 1 の配列を引数に与えて呼び出すことに等価です。

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

setTextures

public void setTextures(Texture[] textures)

モデルデータにマッピングするモデル用 テクスチャ オブジェクトを設定します。

このメソッドに長さが 1 の配列を引数に与えて呼び出すことは、 setTexture(Texture) メソッドに配列の要素である テクスチャ オブジェクトを与えて呼び出すことに等価です。

パラメータ:
textures - テクスチャ オブジェクトの配列を指定します。
例外:
UIException - 既に dispose() されたオブジェクトに対して呼ばれた場合に発生します (ILLEGAL_STATE)。
NullPointerException - 引数 textures が null の場合に発生します。
NullPointerException - 引数 textures の要素のいずれかが null の場合に発生します。
UIException - 引数 textures の要素のいずれかがが既に dispose() されたオブジェクトの場合に発生します (ILLEGAL_STATE)。

setAction

public void setAction(ActionTable action,
                      int index)

モデルデータに アクションテーブル オブジェクト、および、 アクションデータの番号を設定することで、モデルにアクションを設定します。

モデルデータに姿勢と外見状態を設定するには、 setTime(int) メソッドを用います。 なお本メソッド呼び出し時には、 setTime(0) のメソッド呼び出しが自動で行われます。

パラメータ:
action - アクションテーブル オブジェクトを指定します。
index - アクションデータの番号を指定します。 番号を指定することで、 アクションテーブル オブジェクトが持っているアクションデータの中の一つを選択します。 0 以上、かつ action.getNumActions() メソッドが返す値より小さい値を指定します。
例外:
UIException - 既に dispose() されたオブジェクトに対して呼ばれた場合に発生します (ILLEGAL_STATE)。
NullPointerException - 引数 action が null の場合に発生します。
UIException - 引数 action が既に dispose() されたオブジェクトの場合に発生します (ILLEGAL_STATE)。
IllegalArgumentException - 引数 index が 0 未満の場合、あるいは、 引数 index が action.getNumActions() メソッドが返す値以上の場合に発生します。
IllegalStateException - モデルデータに、 アクションテーブル オブジェクトの変更を禁止する状態が設定されている場合に発生します。
IllegalStateException - モデルデータに、引数 action の内容が適合しないときに発生します。

getActionTable

public ActionTable getActionTable()

モデルデータに設定されている アクションテーブル オブジェクトを取得します。

setAction(ActionTable, int) メソッド呼び出しによって設定されている アクションテーブル オブジェクトを返します。 まだ setAction(ActionTable, int) メソッドが一度も呼ばれていないときに、 このメソッドが呼ばれた場合、もし このオブジェクトがメソッド Object3D.createInstance(InputStream)ODE> 縺輔l縺溘が繝悶ず繧ァ繧ッ繝医↓蟇セ縺励※蜻シ縺ー繧後◆蝣エ蜷医↓逋コ逕溘@縺セ縺