com.docomostar.ui.graphics3d
クラス Group

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

public class Group
extends DrawableObject3D
 [iアプリオプションAPI]

3Dオブジェクト 群のひとかたまりのグループを表す、 グループクラスを定義します。

グループは、 3Dオブジェクト 群への参照を保持します。 その 3Dオブジェクト は、 グループオブジェクトであっても構いません。 ただし、参照に自分自身を持つことはできません。 また、グループ A がグループ B の参照を持っているときに、 グループB にグループ A の参照を加えるなど、 参照の関係をループさせることはできません。 以上の条件を満たすならば、異なるグループオブジェクトが、 同一の 3Dオブジェクト を参照していても構いません。

グループオブジェクトには、大きく分けて2種類があり、 getType() メソッドにより取得できる値によって区別できます。 通常のグループ Object3D.TYPE_GROUP と、 メッシュグループ Object3D.TYPE_GROUP_MESH の2種類です。メッシュグループは、バイナリデータを入力する メソッド Object3D.createInstance(InputStream) Object3D.createInstance(byte[]) を利用することで生成できます。 このメッシュグループは、以下の特徴を持ちます。

グループは、 変換行列 オブジェクトを一つ保持します。 初期状態では、この行列の内容は恒等変換を意味する状態になっています。 ただし、メソッド Object3D.createInstance(InputStream) Object3D.createInstance(byte[]) によって生成された場合は、行列の内容はバイナリデータによって 設定されることがあります。

メッシュグループに関する、追記事項を以下に示します。

導入されたバージョン:
Star-1.0

フィールドの概要
 
クラス com.docomostar.ui.graphics3d.DrawableObject3D から継承されたフィールド
BLEND_ADD, BLEND_ALPHA, BLEND_NORMAL
 
クラス 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
 
コンストラクタの概要
Group()
           3Dオブジェクト への参照を持たない グループオブジェクトを生成します。
 
メソッドの概要
 void addElement(Object3D obj)
           新規に 3Dオブジェクト への参照を追加します。
 void dispose()
           このオブジェクト、および、参照を保持している 3Dオブジェクト が持っている関連データを解放します。
 Object3D getElement(int index)
           番号を指定して、参照を保持している 3Dオブジェクト のうちの一つを取得します。
 int getNumElements()
           参照を保持している 3Dオブジェクト の数を取得します。
 void getTransform(Transform transform)
           設定されている 変換行列 を取得します。
 void removeElement(int index)
           番号を指定して、参照を保持している 3Dオブジェクト のうちの一つについて、参照を解除します。
 void setBlendMode(int mode)
           参照を保持している 描画可能な3Dオブジェクト すべてに、図形用ブレンドモードを設定します。
 void setPerspectiveCorrectionEnabled(boolean isOn)
           参照を保持している 描画可能な3Dオブジェクト すべてに、パースペクティブコレクションの設定をします。
 void setTime(int time)
           このオブジェクトに現在時刻を設定すると同時に、 参照を保持している 3Dオブジェクト すべてに現在時刻を設定します。
 void setTransform(Transform transform)
           変換行列 を設定します。
 void setTransparency(float v)
           参照を保持している 描画可能な3Dオブジェクト すべてに、透明度を設定します。
 
クラス com.docomostar.ui.graphics3d.DrawableObject3D から継承されたメソッド
isCross
 
クラス com.docomostar.ui.graphics3d.Object3D から継承されたメソッド
createInstance, createInstance, getTime, getType
 
クラス Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Group

public Group()

3Dオブジェクト への参照を持たない グループオブジェクトを生成します。

生成したグループオブジェクトの Object3D.getType() メソッドを呼び出すとき、 その値は常に通常のグループ Object3D.TYPE_GROUP になります。

メソッドの詳細

dispose

public void dispose()

このオブジェクト、および、参照を保持している 3Dオブジェクト が持っている関連データを解放します。

具体的には、参照を保持しているすべての 3Dオブジェクトdispose() メソッドを呼び出します。

従って、グループがネストしているときにも、再帰的にすべての 3Dオブジェクトdispose() メソッドが呼ばれます。

このオブジェクトにおいて、 既に dispose() メソッドが呼ばれているときには、 何もしません。このときに例外は発生しません。 また、参照を保持している 3Dオブジェクト (ネストしているオブジェクトも含む)のうち、 既に Object3D.dispose() メソッドが呼ばれているものが あるときには、そのオブジェクトに対しては何もせず、このときにも 例外は発生しません。

オーバーライド:
クラス Object3D 内の dispose

getNumElements

public int getNumElements()

参照を保持している 3Dオブジェクト の数を取得します。

戻り値:
参照を保持している 3Dオブジェクト の数を返します。 参照を保持している 3Dオブジェクト の中に、 既に dispose() されているオブジェクトがあっても、 そのオブジェクトを含めた数を返します。
例外:
UIException -
(ILLEGAL_STATE)
既に dispose() されたオブジェクトに対して呼ばれた場合に発生します。

getElement

public Object3D getElement(int index)

番号を指定して、参照を保持している 3Dオブジェクト のうちの一つを取得します。

パラメータ:
index - 3Dオブジェクトの番号を指定します。 0 以上、かつ、 getNumElements() メソッドの戻り値より小さいことが必要です。
戻り値:
該当する3Dオブジェクトを返します。
例外:
UIException -
(ILLEGAL_STATE)
既に dispose() されたオブジェクトに対して呼ばれた場合に発生します。
IllegalArgumentException -
引数 index が 0 未満の場合、あるいは、 引数 index が getNumElements() メソッドが返す値以上の場合に発生します。

removeElement

public void removeElement(int index)

番号を指定して、参照を保持している 3Dオブジェクト のうちの一つについて、参照を解除します。

外された3Dオブジェクトの番号より、大きい番号に位置してA> 縺輔l縺ヲ縺