|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Objectcom.nttdocomo.ui.graphics3d.collision.AbstractShape
com.nttdocomo.ui.graphics3d.collision.Line
com.nttdocomo.ui.graphics3d.collision.Ray
Ray(半直線)を表わすクラスです。
Shapeインターフェースの説明を参照してください。
| フィールドの概要 |
| インタフェース com.nttdocomo.ui.graphics3d.collision.Shape から継承したフィールド |
TRANS_BV_SHAPE, TRANS_BV_WORLD, TRANS_BV_WORLD_NOSCALE, TRANS_SHAPE_WORLD, TRANS_SHAPE_WORLD_NOSCALE, TYPE_AAB_BOX, TYPE_AAB_CAPSULE, TYPE_AAB_CYLINDER, TYPE_BOX, TYPE_CAPSULE, TYPE_CYLINDER, TYPE_LINE, TYPE_PLANE, TYPE_POINT, TYPE_RAY, TYPE_SPHERE, TYPE_TRIANGLE |
| コンストラクタの概要 | |
Ray(Vector3D start,
Vector3D dir)
始点と方向を指定してRayオブジェクトを生成します。 |
|
| メソッドの概要 | |
void |
createMesh(int rgb,
int mode,
float v)
テスト描画用の Primitiveオブジェクトを生成します。 |
Vector3D |
getDirection(boolean isTrans)
Rayオブジェクトの方向ベクトルを取得します。 |
Vector3D |
getStartPosition(boolean isTrans)
Rayオブジェクトの始点位置を取得します。 |
void |
set(Vector3D start,
Vector3D dir)
始点と方向を指定してRayオブジェクトを設定します。 |
void |
setByPoints(Vector3D start,
Vector3D v)
始点とRay上の1点を指定してRayオブジェクトを設定します。 |
| クラス com.nttdocomo.ui.graphics3d.collision.Line から継承したメソッド |
getEndPosition |
| クラス com.nttdocomo.ui.graphics3d.collision.AbstractShape から継承したメソッド |
deleteMesh, getAttribute, getMesh, getMeshTransform, getScale, getShapeType, getTransform, setAttribute, setTransform |
| クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| コンストラクタの詳細 |
public Ray(Vector3D start,
Vector3D dir)
始点と方向を指定してRayオブジェクトを生成します。
start - 始点を表わすVector3Dオブジェクトを指定します。dir - 方向ベクトルを表わすVector3Dオブジェクトを指定します。
NullPointerException - 引数startまたはdirがnullの場合に発生します。
IllegalArgumentException - 引数dirが零ベクトルの場合に発生します。
| メソッドの詳細 |
public void set(Vector3D start,
Vector3D dir)
始点と方向を指定してRayオブジェクトを設定します。
Line 内の setstart - 始点を表わすVector3Dオブジェクトを指定します。dir - 方向ベクトルを表わすVector3Dオブジェクトを指定します。
NullPointerException - 引数startまたはdirがnullの場合に発生します。
IllegalArgumentException - 引数dirが零ベクトルの場合に発生します。
public void setByPoints(Vector3D start,
Vector3D v)
始点とRay上の1点を指定してRayオブジェクトを設定します。
start - 始点を表わすVector3Dオブジェクトを指定します。v - Ray上の1点を表わすVector3Dオブジェクトを指定します。
NullPointerException - 引数startまたはvがnullの場合に発生します。
IllegalArgumentException - start、vが一致する場合に発生します。
public Vector3D getStartPosition(boolean isTrans)
Rayオブジェクトの始点位置を取得します。
Line 内の getStartPositionisTrans - ワールド座標系に変換されたデータを取得する場合はtrueを指定します。
Shape座標系におけるデータを取得する場合はfalseを指定します。
public Vector3D getDirection(boolean isTrans)
Rayオブジェクトの方向ベクトルを取得します。
isTrans - ワールド座標系に変換されたデータを取得する場合はtrueを指定します。
Shape座標系におけるデータを取得する場合はfalseを指定します。
public void createMesh(int rgb,
int mode,
float v)
Shape の記述:
テスト描画用のPrimitiveオブジェクトを生成します。
開発時の図形位置の確認用としての利用を前提としたメソッドです。
描画の方法は、getMeshメソッドでPrimitiveオブジェクトを取得し、getMeshTransformメソッドで
一次変換行列を取得して、これらをGraphics3DのrenderObject3Dメソッドの引数に渡して描画します。
生成したPrimitiveオブジェクトは、形状クラスで保持されます。
setメソッドで形状を変更した場合は、createMeshメソッドでPrimitiveオブジェクトを
再生成してください。それ以外の場合は再生成する必要はありませんが、描画ごとに
getMeshメソッドでPrimitiveオブジェクトを取得して使用するようにしてください。
(AABVでは、ワールド座標軸に平行になるようにPrimitiveオブジェクトの頂点データが変更
されます)
不要になった場合はdeleteMeshメソッドで削除してください。
色、ブレンドモード、透明度の設定に関する制限に関しては、Primitiveクラスを参照してください。
ブレンドモードにDrawableObject3D.BLEND_ALPHA、透明度に50%のような値を使用すると、
図形位置の確認がしやすくなります。
※ 図形サイズ・位置に関する注意事項
生成される頂点座標は、本パッケージの内部処理で使用しているfloat型から、Primitiveの
頂点座標で使われているshort型の範囲(-32768以上かつ32767 以下)にマッピングされるため、
範囲に収まらないサイズ・位置の場合、正常に描画されないことがあります。
また、Ray、Planeは、描画上は有限の大きさとなり、端が存在します。
Shape 内の createMeshLine 内の createMeshrgb - 0x00rrggbbの形式で、Primitiveオブジェクトの色を指定します。上位8ビットは無視されます。mode - ブレンドモードを指定します。DrawableObject3D.BLEND_NORMAL、DrawableObject3D.BLEND_ALPHA、DrawableObject3D.BLEND_ADDのいずれかを指定します。v - 透明度をパーセントで指定します。100の時が不透明です。
IllegalArgumentException - 引数modeがDrawableObject3D.BLEND_NORMAL, DrawableObject3D.BLEND_ALPHA, DrawableObject3D.BLEND_ADDのいずれかでもない場合に発生します。
IllegalArgumentException - 引数vがFloatNaNの場合、0未満の場合、あるいは100より大きい場合に発生します。
|
||||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | 讎りヲ | ||||||||