com.docomostar.opt.ui.eruption
クラス Figure

Object
  上位を拡張 com.docomostar.opt.ui.eruption.Object3D
      上位を拡張 com.docomostar.opt.ui.eruption.Figure
すべての実装されたインタフェース:
NodeDeformerNode

public final class Figure
extends Object3D
implements NodeDeformerNode

シーンの構成要素を集約するクラスです。

Figure の構成に関してはFigureを用いた場合のオブジェクト関連を参照してください。
Figure はデータ同士の関連によりシーングラフやアニメーションを表現するため、使用に際してはデータ同士の整合性に注意する必要があります。 IndexBuffer と VertexBuffer の場合には、IndexBuffer が VertexBuffer の範囲外を参照するとき、または IndexBuffer.MCE_SPRITES の IndexBuffer に対して関連付ける VertexBuffer が 位置情報かポイントスプライト情報のどちらかを持っていない、もしくはその逆のとき、 IndexBuffer.MCE_SPRITES の IndexBuffer を 含んでいながら VertexBuffer に複数の IndexBuffer を関連付けようとしたときに不整合となります。 NodeDeformer とその子である NodeDeformerNode の場合には TransformTree の範囲外を参照するときに不整合となります。 BoneDeformer と VertexBuffer および TransformTree の場合には、BoneDeformer が VertexBuffer および TransformTree の範囲外を参照するときに不整合となります。 MorphDeformer とそのアニメーション用 VertexBuffer の場合には、保持する頂点情報の種類とサイズが Figure の持つ VertexBuffer と一致していないときに不整合となります。

端末によって、本クラスはサポートされていない場合があります。未サポートの場合、メソッドが呼び出された時点で UnsupportedOperationException が発生します。


フィールドの概要
 
クラス com.docomostar.opt.ui.eruption.Object3D から継承されたフィールド
MCE_CLASS_TYPE_ACTION, MCE_CLASS_TYPE_ACTIONCONTROLLER, MCE_CLASS_TYPE_ACTIONTABLE, MCE_CLASS_TYPE_APPEARANCE, MCE_CLASS_TYPE_BONE, MCE_CLASS_TYPE_BONEDEFORMER, MCE_CLASS_TYPE_CAMERA, MCE_CLASS_TYPE_EFFECTSOURCE, MCE_CLASS_TYPE_FIGURE, MCE_CLASS_TYPE_GEOMETRICSHAPE, MCE_CLASS_TYPE_GRAPHICS3D, MCE_CLASS_TYPE_INDEXBUFFER, MCE_CLASS_TYPE_INTERSECTIONATTRIBUTES, MCE_CLASS_TYPE_LIGHT, MCE_CLASS_TYPE_MORPHDEFORMER, MCE_CLASS_TYPE_NODEDEFORMER, MCE_CLASS_TYPE_OBJECT3D, MCE_CLASS_TYPE_PARTICLE, MCE_CLASS_TYPE_TEXTURE, MCE_CLASS_TYPE_TEXTURETABLE, MCE_CLASS_TYPE_TRACKBALL, MCE_CLASS_TYPE_TRANSFORMTREE, MCE_CLASS_TYPE_VERTEXBUFFER
 
コンストラクタの概要
Figure()
          描画用のメッシュを持たない Figure を生成します。
Figure(VertexBuffer vertexBuffer, IndexBuffer[] indexBuffers)
          Figure を生成します(VertexBuffer / IndexBuffer 指定)。
 
メソッドの概要
 void addSiblingNode(NodeDeformerNode node, Transform offset)
          親(NodeDeformer)に兄弟ノードを追加します。
 void bindAction(ActionTable actions)
           グローバルID を介して Figure に属する Animatable と ActionTable に属する Action を関連付けます。
 void bindAction(ActionTable actions, boolean reset)
          Action を関連付けます。
 void bindTexture(TextureTable textures)
          TextureTable 内の Texture を関連付けます。
 Appearance getAppearance()
          Appearance を取得します。
 BoneDeformer getBoneDeformer()
          BoneDeformer を取得します。
 Camera getCamera()
          Figure の描画時に使用する Camera を取得します。
 float getFrame()
          現在のフレーム値を取得します。
 GeometricShape getGeometricShape()
          GeometricShape を取得します。
 IndexBuffer[] getIndexBuffer()
          IndexBuffer の配列を取得します。
 IndexBuffer getIndexBuffer(int ix)
          IndexBuffer を取得します。
 int getIndexNum()
          IndexBuffer の数を取得します。
 MorphDeformer getMorphDeformer()
          MorphDeformer を取得します。
 NodeDeformer getNodeDeformer()
          NodeDeformer を取得します。
 NodeDeformer getParent()
          親(NodeDeformer)を取得します。
 int getParentIndex()
          親(NodeDeformer)における自身のインデックスを取得します。
 int getPattern()
          設定されているモデルの外見状態を取得します。
 void getToWorldTransform(Transform dst)
          ワールド座標への変換行列を取得します。
 void getTransform(Transform dst)
          変換行列を取得します。
 TransformTree getTransformTree()
          TransformTree を取得します。
 VertexBuffer getVertexBuffer()
          VertexBuffer を取得します。
 boolean isVisible()
          NodeDeformerNode の可視状態を検査します。
 void mulScale(Vector3D v)
          変換行列にスケーリング成分を乗算します。
 void multiVertexColors(float a, float b, float g, float r)
          頂点カラーの割合を設定します。
 boolean pick(Graphics3D g3d, int xp, int yp, IntersectionAttributes attr, int targetFlag, boolean isAllPick, Transform toWorld)
          2Dスクリーン座標指定でピック処理を行います。
 boolean pick(Vector3D origin, Vector3D direction, IntersectionAttributes attr, int targetFlag, boolean isAllPick, Transform toWorld)
          ピック処理を行います。
 void removeFromParent()
          親(NodeDeformer)から自身を除去します。
 void resetTransform()
          ノードの変換行列を初期状態(ロード時の初期値)にします。
 void setAppearance(Appearance appearance)
          Appearance を設定します。
 void setBoneDeformer(BoneDeformer deformer)
          BoneDeformer を設定します。
 void setCamera(Camera camera)
          Figure の描画時に使用する Camera を設定します。
 void setFrame(float frame)
          関連付けられた Animatable に対してフレーム値を設定します。
 void setGeometricShape(GeometricShape gs)
          GeometricShape を設定します。
 void setIdentity()
          変換行列を恒等変換行列に設定します。
 void setMorphDeformer(MorphDeformer deformer)
          MorphDeformer を設定します。
 void setNodeDeformer(NodeDeformer deformer)
          NodeDeformer を設定します。
 void setPattern(int pattern)
          モデルの外見状態を設定します。
 void setRotateEuler(int type, Vector3D v)
          変換行列の回転をオイラー角で設定します。
 void setTransform(Transform src)
          変換行列を設定します。
 void setTransformTree(TransformTree ttree)
          TransformTree を設定します。
 void setTranslate(Vector3D v)
          変換行列の移動成分を設定します。
 void setVisible(boolean visible)
          NodeDeformerNode に対して可視/不可視を設定します。
 void updatePosture(Transform transform)
          設定されているフレーム値をもとに、関連付けられている Animatable に対しアニメーションを再生します。
 
クラス 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
 

コンストラクタの詳細

Figure

public Figure(VertexBuffer vertexBuffer,
              IndexBuffer[] indexBuffers)
Figure を生成します(VertexBuffer / IndexBuffer 指定)。

初期値は以下の通りです。

パラメータ:
vertexBuffer - VertexBuffer を指定します。
indexBuffers - IndexBuffer の配列を指定します。
例外:
NullPointerException -
vertexBuffer が null の場合に発生します。
NullPointerException -
indexBuffers が null の場合に発生します。
IllegalArgumentException -
indexBuffers.length が [1, 32767] 以外の場合に発生します。
IllegalArgumentException -
vertexBuffer が既に別の Figure から参照している場合に発生します。
IllegalArgumentException -
indexBuffers に null が含まれている場合に発生します。
IllegalArgumentException -
indexBuffers に fix されていないものが含まれている場合に発生します。
IllegalArgumentException -
indexBuffers にタイプが IndexBuffer.MCE_SPRITES かつ indexBuffers.length != 1 の要素が存在する場合に発生します。
IllegalArgumentException -
indexBuffers に vertexBuffer と不整合を起こすものが含まれている場合に発生します。

Figure

public Figure()
描画用のメッシュを持たない Figure を生成します。

初期値は Figure(VertexBuffer , IndexBuffer[]) を参照してください。

メソッドの詳細

setNodeDeformer

public final void setNodeDeformer(NodeDeformer deformer)
NodeDeformer を設定します。

パラメータ:
deformer - NodeDeformer を指定します。null 指定の場合、関連付けを外します。

例外:
IllegalArgumentException -
deformer が既に This に関連付けられている場合に発生します。
IllegalArgumentException -
This に関連付けられている TransformTree と deformer が不整合である場合に発生します。

getNodeDeformer

public final NodeDeformer getNodeDeformer()
NodeDeformer を取得します。

戻り値:
関連付けられている NodeDeformer を返します。関連付けがない場合は null を返します。

setBoneDeformer

public final void setBoneDeformer(BoneDeformer deformer)
BoneDeformer を設定します。

パラメータ:
deformer - BoneDeformer を指定します。null 指定の場合、関連付けを外します。
例外:
com.docomostar.lang.IllegalStateException -
This に関連付けられている VertexBuffer が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
This に関連付けられている IndexBuffer がスプライトの場合に発生します。
IllegalArgumentException -
deformer が null でなく、This に関連付けられている TransformTree と deformer が不整合である場合に発生します。
IllegalArgumentException -
deformer が null でなく、This に関連付けられている VertexBuffer と deformer が不整合である場合に発生します。

getBoneDeformer

public final BoneDeformer getBoneDeformer()
BoneDeformer を取得します。

戻り値:
関連付けられている BoneDeformer を返します。関連付けがない場合は null を返します。

setMorphDeformer

public final void setMorphDeformer(MorphDeformer deformer)
MorphDeformer を設定します。

パラメータ:
deformer - MorphDeformer を指定します。null 指定の場合、関連付けを外します。
例外:
com.docomostar.lang.IllegalStateException -
This に関連付けられている VertexBuffer が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
This に関連付けられている IndexBuffer がスプライトの場合に発生します。
com.docomostar.lang.IllegalStateException -
MBAC ファイルからロードされた Figure の場合に発生します。
IllegalArgumentException -
deformer が null でなく、This に関連付けられている VertexBuffer と deformer が不整合である場合に発生します。

getMorphDeformer

public final MorphDeformer getMorphDeformer()
MorphDeformer を取得します。

戻り値:
関連付けられている MorphDeformer を返します。関連付けがない場合は null を返します。

setTransformTree

public final void setTransformTree(TransformTree ttree)
TransformTree を設定します。

パラメータ:
ttree - TransformTree を指定します。null 指定の場合、関連付けを外します。
例外:
IllegalArgumentException -
NodeDeformer が This に関連付けられており、ttree と不整合である場合に発生します。
IllegalArgumentException -
BoneDeformer が This に関連付けられており、ttree と不整合である場合に発生します。

getTransformTree

public final TransformTree getTransformTree()
TransformTree を取得します。

戻り値:
関連付けられている TransformTree を返します。関連付けがない場合は null を返します。

setCamera

public final void setCamera(Camera camera)
Figure の描画時に使用する Camera を設定します。

Figure にカメラが設定されている場合には、デフォルトカメラ ( Graphics3D.setCamera(Camera, Transform) で関連付けられた Camera ) より優先されます。描画時に、自身が持つ NodeDeformer のノードになっている必要があります。
また、setCamera(Camera) はアクティブカメラを指定するための API で、Figure のツリーにカメラを吊るためのものではありません。このため新しく生成したカメラを setCamera(Camera) で設定しても、設定されたカメラは Object3D.findObject3D(int, int) の検索対象にはなりません。
逆に言えば NodeDeformer のノードになっていないカメラは、Object3D.findObject3D(int, int) の検索対象ではありません。

パラメータ:
camera - Camera を指定します。null 指定の場合、関連付けを外します。

getCamera

public final Camera getCamera()
Figure の描画時に使用する Camera を取得します。

戻り値:
Camera を返します。関連付けがない場合は null を返します。

getIndexNum

public final int getIndexNum()
IndexBuffer の数を取得します。

戻り値:
IndexBuffer の数を返します。

getIndexBuffer

public final IndexBuffer getIndexBuffer(int ix)
IndexBuffer を取得します。

パラメータ:
ix - IndexBuffer のインデックスを指定します。
戻り値:
IndexBuffer を返します。
例外:
IllegalArgumentException -
ix が不正(0未満、もしくは IndexBuffer 数以上) な場合に発生します。

getIndexBuffer

public final IndexBuffer[] getIndexBuffer()
IndexBuffer の配列を取得します。

戻り値:
IndexBuffer の配列を返します。関連付けがない場合は null を返します。

getVertexBuffer

public final VertexBuffer getVertexBuffer()
VertexBuffer を取得します。

戻り値:
VertexBuffer を返します。関連付けがない場合は null を返します。

setFrame

public final void setFrame(float frame)
関連付けられた Animatable に対してフレーム値を設定します。

フレーム値の設定のみ行います。実際の再生処理は updatePosture(Transform) が呼び出されたときに行われます。Figure の深さは 4 段までです。

パラメータ:
frame - フレーム値を指定します。

getFrame

public final float getFrame()
現在のフレーム値を取得します。

戻り値:
現在のフレーム値を返します。

updatePosture

public final void updatePosture(Transform transform)
設定されているフレーム値をもとに、関連付けられている Animatable に対しアニメーションを再生します。

パラメータ:
transform - Transform のワールド座標への変換行列を指定します。(null 指定時は恒等変換になります。)
例外:
com.docomostar.lang.IllegalStateException -
Figure が持つ TransformTree が更新されており、かつ循環が存在する場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera の上方向を示すオブジェクトが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera の上方向を示すオブジェクトの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属するアクティブな Light のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Light のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
ArithmeticException -
内部で計算エラーが起きた場合に発生します。

bindAction

public final void bindAction(ActionTable actions)

グローバルID を介して Figure に属する Animatable と ActionTable に属する Action を関連付けます。

Animatable に設定されたグローバルIDに対応する Action を ActionTable から取得し、Animatable に設定します。 null 指定時は、全ての関連付けが解除されます。

パラメータ:
actions - ActionTable オブジェクトを指定します。
例外:
IllegalArgumentException -
関連付けを行う Animatable-Action 間でアクションタイプ不整合である場合に発生します。

bindAction

public final void bindAction(ActionTable actions,
                             boolean reset)
Action を関連付けます。同時にボーンのリセットを行うかどうか指定します。

パラメータ:
actions - ActionTable オブジェクトを指定します。
reset - ボーンのリセットを行うかどうか指定します。指定できる値は、以下の通りです。
  • リセットを行う - true
  • リセットを行わない - false
例外:
IllegalArgumentException -
関連付けを行う Animatable-Action 間でアクションタイプ不整合である場合に発生します。
IllegalArgumentException -
Animatable が MorphDeformer の場合、モーフターゲット数と actions の保持するセグメント数が異なる場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ TransformTree が更新されており、かつ循環が存在する場合に発生します。

bindTexture

public final void bindTexture(TextureTable textures)
TextureTable 内の Texture を関連付けます。

Figure が要求するグローバルID を持つ Texture を関連付けます。 null 指定時は、全ての関連付けが解除されます。

パラメータ:
textures - TextureTable オブジェクトを指定します。
例外:
IllegalArgumentException -
textures 内の Texture がミップマップを使用していない状態で、This 内の Appearance の Appearance.MCE_TEXTURE_FILTER_TYPE_MIN に対応するテクスチャフィルタが Appearance.MCE_TEXTURE_FILTER_NEAREST_MIPMAP_NEAREST, Appearance.MCE_TEXTURE_FILTER_LINEAR_MIPMAP_NEAREST, Appearance.MCE_TEXTURE_FILTER_NEAREST_MIPMAP_LINEAR, Appearance.MCE_TEXTURE_FILTER_LINEAR_MIPMAP_LINEAR のいずれかの場合に発生します。

multiVertexColors

public final void multiVertexColors(float a,
                                    float b,
                                    float g,
                                    float r)
頂点カラーの割合を設定します。

各コンポネントは 1.0 で元の色を意味します(結果 = 元の各成分 * 対応する引数)。

パラメータ:
a - アルファの割合を指定します。
b - Blue の割合を指定します。
g - Green の割合を指定します。
r - Red の割合を指定します。
例外:
IllegalArgumentException -
a < 0.0 の場合に発生します。
IllegalArgumentException -
b < 0.0 の場合に発生します。
IllegalArgumentException -
g < 0.0 の場合に発生します。
IllegalArgumentException -
r < 0.0 の場合に発生します。

setPattern

public final void setPattern(int pattern)
モデルの外見状態を設定します。

本 API は、MascotCapsule V3 用モデルデータの MBAC ファイルから作成された Figure に対してのみ有効です。 外見状態は、なにも指定されていない状態(共通セット)を含めると最大で32個まで存在し、これらを32bitの各bitとみなして引数に指定します。

パラメータ:
pattern - 外見状態を示すフラグを指定します。
例外:
com.docomostar.lang.IllegalStateException -
MBAC ファイルからロードされた Figure ではない場合に発生します。

getPattern

public final int getPattern()
設定されているモデルの外見状態を取得します。

本 API は、MascotCapsule V3 用モデルデータの MBAC ファイルから作成された Figure に対してのみ有効です。 外見状態は、なにも指定されていない状態(共通セット)を含めると最大で32個まで存在し、これらを32bitの各bitとみなし設定された現在の外見状態を取得できます。

戻り値:
外見状態を示すフラグを返します。
例外:
com.docomostar.lang.IllegalStateException -
MBAC ファイルからロードされた Figure ではない場合に発生します。

setGeometricShape

public final void setGeometricShape(GeometricShape gs)
GeometricShape を設定します。

フラスタムカリングに使用する GeometricShape を設定します。

パラメータ:
gs - GeometricShape オブジェクトを指定します。null 指定の場合、関連付けを外します。
例外:
IllegalArgumentException -
GeometricShape が球体ではない場合に発生します。
IllegalArgumentException -
gs が既に他の Figure や IndexBuffer に設定されている場合に発生します。
IllegalArgumentException -
This がメッシュを持っていない場合に発生します。

getGeometricShape

public final GeometricShape getGeometricShape()
GeometricShape を取得します。

setGeometricShape(GeometricShape) で設定した GeometricShape を取得します。

戻り値:
GeometricShape オブジェクトを返します。関連付けがない場合は null を返します。

setAppearance

public final void setAppearance(Appearance appearance)
Appearance を設定します。

IndexBuffer が持つ Appearance のプロパティに Appearance.MCE_USE_FIGURE_APPEARANCE を有するサブメッシュの描画時、 IndexBuffer の Appearance に代わって用いる Appearance を設定します。
プロジェクションシャドウでテクスチャに描画するときなど、元の Appearance を変更せずに、一時的に別の Appearance を使いたい場合に用いることができます。

パラメータ:
appearance - Appearance オブジェクトを指定します。null 指定の場合、関連付けを外します。

getAppearance

public final Appearance getAppearance()
Appearance を取得します。

setAppearance(Appearance) で設定した Appearance を取得します。

戻り値:
Appearance オブジェクトを返します。関連付けがない場合は null を返します。

pick

public final boolean pick(Vector3D origin,
                          Vector3D direction,
                          IntersectionAttributes attr,
                          int targetFlag,
                          boolean isAllPick,
                          Transform toWorld)
ピック処理を行います。

内部的に updatePosture(Transform) が実行され、指定した Figure オブジェクトに対してピック処理を行います。
Figure が階層構造を持つ場合は、その構造を辿って処理を行います。
attr が null の場合、ピック情報を取得しません。
Figure の深さは 4 段までです。
targetFlag は組み合わせで用いることができますが、Pick.MCE_USE_ONLY_GS_PRUNING が優先されます。

パラメータ:
origin - ピッキング線の原点座標を指定します。
direction - ピッキング線の方向ベクトルを指定します。
attr - 交点におけるピック情報を指定します。(null の場合、情報取得を行わず、交差判定のみを行います。)
targetFlag - GeometricShape を用いた枝刈り法を指定します。指定できる値は、以下の通りです。(複数指定可)
isAllPick - 取得するピック情報を指定します。指定できる値は、以下の通りです。
  • 全てのピック情報を得る - true
  • 最短距離のもののみを得る - false
toWorld - ワールド座標系への変換行列を指定します。
戻り値:
返す値は、以下の通りです。
  • ピッキング線に交差する対象が存在する - true
  • ピッキング線に交差する対象が存在しない - false
例外:
com.docomostar.lang.IllegalStateException -
Figure が持つ TransformTree が更新されており、かつ循環が存在する場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera の上方向を示すオブジェクトが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera の上方向を示すオブジェクトの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属するアクティブな Light のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Light のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
NullPointerException -
origin, direction のいずれかが null の場合に発生します。
IllegalArgumentException -
direction が零ベクトルの場合に発生します。
ArithmeticException -
内部で計算エラーが起きた場合に発生します。

pick

public final boolean pick(Graphics3D g3d,
                          int xp,
                          int yp,
                          IntersectionAttributes attr,
                          int targetFlag,
                          boolean isAllPick,
                          Transform toWorld)
2Dスクリーン座標指定でピック処理を行います。

Figure に Camera がある場合には Figure のカメラでピック処理を行います。 無い場合には Graphics3D のカメラで行います。

パラメータ:
g3d - Graphics3D オブジェクトを指定します。
xp - ピックx座標(スクリーン座標)を指定します。
yp - ピックy座標(スクリーン座標)を指定します。
attr - 交点におけるピック情報を指定します。( null の場合、情報取得を行わず、交差判定のみを行います。)
targetFlag - GeometricShape を用いた枝刈り法を指定します。指定できる値は、以下の通りです。(複数指定可)
isAllPick - 取得するピック情報を指定します。指定できる値は、以下の通りです。
  • 全てのピック情報を得る - true
  • 最短距離のもののみを得る - false
toWorld - ワールド座標系への変換行列を指定します。
戻り値:
返す値は、以下の通りです。
  • 指定の2Dスクリーン座標に対象が存在する - true
  • 指定の2Dスクリーン座標に対象が存在しない - false
例外:
NullPointerException -
g3d が null の場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure にも g3d にも Camera が存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera の種別が Camera.MCE_CAMERA_TYPE_FRUSTUM の場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ TransformTree が更新されており、かつ循環が存在する場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属する投影テクスチャ用プロジェクタ、およびアクティブな Camera の上方向を示すオブジェクトが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Camera の上方向を示すオブジェクトの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure が持つ NodeDeformer に属するアクティブな Light のターゲットが NodeDeformer に属していない場合に発生します。
com.docomostar.lang.IllegalStateException -
Light のターゲットの親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure に Camera が設定されているが、Camera の親ノードが Figure を介して参照する TransformTree が、存在しない場合に発生します。
com.docomostar.lang.IllegalStateException -
Figure に関連された NodeDeformer と Camera に関連された NodeDeformer が不整合である場合発生します。
ArithmeticException -
内部で計算エラーが起きた場合に発生します。

getToWorldTransform

public final void getToWorldTransform(Transform dst)
インタフェース NodeDeformerNode の記述:
ワールド座標への変換行列を取得します。

ワールド座標への変換行列は updatePosture(Transform)、または TransformTree.relatedMultiply() が呼ばれたときに更新されます。
そのため、最新の変換行列が必要なときには、This の属する Figure が持つ TransformTree に対して TransformTree.relatedMultiply() を呼ぶか、 This の属する 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),
pick(Vector3D, Vector3D, IntersectionAttributes, int, boolean, Transform),
Graphics3D.drawFigure(Figure, Transform, int),
Graphics3D.addDrawQueueFigure(Figure, Transform))
を事前に呼んでおいた場合、最新の変換行列の情報が dst に反映されるようになります。

定義:
インタフェース NodeDeformerNode 内の getToWorldTransform
パラメータ:
dst - 取得する変換行列の格納先を指定します。

setTransform

public final void setTransform(Transform src)
インタフェース NodeDeformerNode の記述:
変換行列を設定します。

対応する TransformTree ノードの変換行列を設定します。

定義:
インタフェース NodeDeformerNode 内の setTransform
パラメータ:
src - 設定する変換行列を指定します。

getTransform

public final void getTransform(Transform dst)
インタフェース NodeDeformerNode の記述:
変換行列を取得します。

対応する TransformTree ノードの変換行列を取得します。

定義:
インタフェース NodeDeformerNode 内の getTransform
パラメータ:
dst - 取得する変換行列の格納先を指定します。

setIdentity

public final void setIdentity()
インタフェース NodeDeformerNode の記述:
変換行列を恒等変換行列に設定します。

対応する TransformTree ノードの変換行列を恒等変換行列に設定します。

定義:
インタフェース NodeDeformerNode 内の setIdentity

setTranslate

public final void setTranslate(Vector3D v)
インタフェース NodeDeformerNode の記述:
変換行列の移動成分を設定します。

対応する TransformTree ノードの移動成分に設定します。

定義:
インタフェース NodeDeformerNode 内の setTranslate
パラメータ:
v - 移動成分を表す Vector3D を指定します。

setRotateEuler

public final void setRotateEuler(int type,
                                 Vector3D v)
インタフェース NodeDeformerNode の記述:
変換行列の回転をオイラー角で設定します。

対応する TransformTree ノードの回転をオイラー角で設定します。

定義:
インタフェース NodeDeformerNode 内の setRotateEuler
パラメータ:
type - 回転順を指定します。指定できる値は、以下の通りです。
v - 回転成分を表す Vector3D(1.0=360度) を指定します。

mulScale

public final void mulScale(Vector3D v)
インタフェース NodeDeformerNode の記述:
変換行列にスケーリング成分を乗算します。

対応する TransformTree ノードにスケーリング成分を乗算します。

定義:
インタフェース NodeDeformerNode 内の mulScale
パラメータ:
v - 乗算するスケーリング成分を表す Vector3D を指定します。

resetTransform

public final void resetTransform()
インタフェース NodeDeformerNode の記述:
ノードの変換行列を初期状態(ロード時の初期値)にします。

定義:
インタフェース NodeDeformerNode 内の resetTransform

addSiblingNode

public final void addSiblingNode(NodeDeformerNode node,
                                 Transform offset)
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)に兄弟ノードを追加します。

This に対して TransformTree 内の同一 Transform を使用する兄弟ノードを追加します。

定義:
インタフェース NodeDeformerNode 内の addSiblingNode
パラメータ:
node - 追加する兄弟ノードを指定します。
offset - 追加する兄弟ノードのオフセットを表すTransform を指定します。オフセットなしの場合は null を設定します。

removeFromParent

public final void removeFromParent()
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)から自身を除去します。

定義:
インタフェース NodeDeformerNode 内の removeFromParent

setVisible

public final void setVisible(boolean visible)
インタフェース NodeDeformerNode の記述:
NodeDeformerNode に対して可視/不可視を設定します。

This の可視/不可視を設定します。Figure の場合、不可視状態では自身の持つメッシュが描画されなくなるだけであり、自分よりも下の階層は通常通り描画されます。
Light, Camera を不可視にした場合、描画時にそれらは無効となります。

定義:
インタフェース NodeDeformerNode 内の setVisible
パラメータ:
visible - 指定できる値は、以下の通りです。
  • 可視にする場合 - true
  • 不可視にする場合 - false

isVisible

public final boolean isVisible()
インタフェース NodeDeformerNode の記述:
NodeDeformerNode の可視状態を検査します。

定義:
インタフェース NodeDeformerNode 内の isVisible
戻り値:
返す値は、以下の通りです。
  • 可視の場合 - true
  • 不可視の場合 - false

getParent

public final NodeDeformer getParent()
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)を取得します。

定義:
インタフェース NodeDeformerNode 内の getParent
戻り値:
親(NodeDeformer) を返します。

getParentIndex

public final int getParentIndex()
インタフェース NodeDeformerNode の記述:
親(NodeDeformer)における自身のインデックスを取得します。

定義:
インタフェース NodeDeformerNode 内の getParentIndex
戻り値:
親(NodeDeformer)における自身のインデックスを返します。


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ドコモの商標または登録商標です。

その他記載された会社名、製品名などは該当する各社の商標または登録商標です。