|
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.docomostar.ui.graphics3d.Object3D
com.docomostar.ui.graphics3d.DrawableObject3D
com.docomostar.ui.graphics3d.Group
public class Group
3Dオブジェクト
群のひとかたまりのグループを表す、
グループクラスを定義します。
グループは、 3Dオブジェクト
群への参照を保持します。
その 3Dオブジェクト
は、
グループオブジェクトであっても構いません。
ただし、参照に自分自身を持つことはできません。
また、グループ A がグループ B の参照を持っているときに、
グループB にグループ A の参照を加えるなど、
参照の関係をループさせることはできません。
以上の条件を満たすならば、異なるグループオブジェクトが、
同一の 3Dオブジェクト
を参照していても構いません。
グループオブジェクトには、大きく分けて2種類があり、
getType()
メソッドにより取得できる値によって区別できます。
通常のグループ Object3D.TYPE_GROUP
と、
メッシュグループ Object3D.TYPE_GROUP_MESH
の2種類です。メッシュグループは、バイナリデータを入力する
メソッド Object3D.createInstance(InputStream)
Object3D.createInstance(byte[])
を利用することで生成できます。
このメッシュグループは、以下の特徴を持ちます。
フィギュア
オブジェクトまたは
プリミティブ
オブジェクトへの参照を持ちます。
プリミティブ
オブジェクト
に含まれるプリミティブ図形の要素数は、 255 個を超えることがあります。
3Dオブジェクト
群において、
フィギュア
オブジェクトまたは
プリミティブ
オブジェクトと
テクスチャ
オブジェクトとの関連付け、および、
フィギュア
オブジェクトと
アクションテーブル
オブジェクトとの
関連付けが、自動で設定されることがあります。
このうち、 テクスチャ
オブジェクト、
および、該当する アクションテーブル
オブジェクトは、
グループ内に含まれない、つまり公開されないことがあります。
含まれるかどうかについては、データ依存になります。
addElement(Object3D)
) 、
削除 ( removeElement(int)
)
のぞれぞれについて、利用ができない状態に設定されることがあります。
グループは、 変換行列
オブジェクトを一つ保持します。
初期状態では、この行列の内容は恒等変換を意味する状態になっています。
ただし、メソッド Object3D.createInstance(InputStream)
Object3D.createInstance(byte[])
によって生成された場合は、行列の内容はバイナリデータによって
設定されることがあります。
メッシュグループに関する、追記事項を以下に示します。
setTime(int)
することで実現できます。
フィールドの概要 |
---|
クラス 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 |
コンストラクタの詳細 |
---|
public Group()
3Dオブジェクト
への参照を持たない
グループオブジェクトを生成します。
生成したグループオブジェクトの Object3D.getType()
メソッドを呼び出すとき、
その値は常に通常のグループ Object3D.TYPE_GROUP
になります。
メソッドの詳細 |
---|
public void dispose()
このオブジェクト、および、参照を保持している
3Dオブジェクト
が持っている関連データを解放します。
具体的には、参照を保持しているすべての
3Dオブジェクト
の
dispose()
メソッドを呼び出します。
従って、グループがネストしているときにも、再帰的にすべての
3Dオブジェクト
の
dispose()
メソッドが呼ばれます。
このオブジェクトにおいて、
既に dispose()
メソッドが呼ばれているときには、
何もしません。このときに例外は発生しません。
また、参照を保持している
3Dオブジェクト
(ネストしているオブジェクトも含む)のうち、
既に Object3D.dispose()
メソッドが呼ばれているものが
あるときには、そのオブジェクトに対しては何もせず、このときにも
例外は発生しません。
Object3D
内の dispose
public int getNumElements()
参照を保持している 3Dオブジェクト
の数を取得します。
3Dオブジェクト
の数を返します。
参照を保持している 3Dオブジェクト
の中に、
既に dispose()
されているオブジェクトがあっても、
そのオブジェクトを含めた数を返します。
UIException
- dispose()
されたオブジェクトに対して呼ばれた場合に発生します。public Object3D getElement(int index)
番号を指定して、参照を保持している 3Dオブジェクト
のうちの一つを取得します。
index
- 3Dオブジェクトの番号を指定します。
0 以上、かつ、
getNumElements()
メソッドの戻り値より小さいことが必要です。
UIException
- dispose()
されたオブジェクトに対して呼ばれた場合に発生します。
IllegalArgumentException
-
getNumElements()
メソッドが返す値以上の場合に発生します。public void removeElement(int index)
番号を指定して、参照を保持している 3Dオブジェクト
のうちの一つについて、参照を解除します。
外された3Dオブジェクトの番号より、大きい番号に位置してA> 縺輔l縺ヲ縺