|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Objectcom.nttdocomo.ui.graphics3d.collision.BVBuilder
次の機能があります。
BoundingVolume
を生成する
BVFigure
オブジェクトを生成する
BoundingVolume
が付加されていない、ボーン構造だけを持つBVFigure
オブジェクトを生成
(createBVFigureメソッド)
BoundingVolume
が付加された、ボーン構造を持つBVFigure
オブジェクトを生成
(createBVFigureメソッド)
BoundingVolume
を生成する
Figure全体のBoundingVolume
としては、OBV、AABVの両方が使用可能ですが、BVFigure
の各ボーンに
設定可能なBoundingVolume
は、OBVだけです。
BoundingVolume
オブジェクト生成において、アクションは考慮されません。Figureオブジェクト自体
が持つ基本姿勢から生成されます。
メソッドの概要 | |
static BoundingVolume |
createBoneBV(Figure fig,
int boneId,
int pattern,
int shapeType,
float fit,
int rotate)
Figureオブジェクトから、指定したボーンの BoundingVolume (OBV)オブジェクトを生成します。 |
static BoundingVolume |
createBV(Figure fig,
int pattern,
int shapeType,
float fit)
Figureオブジェクトから、Figure全体の BoundingVolume オブジェクトを生成します。 |
static BVFigure |
createBVFigure(Figure fig)
Figureオブジェクトから、ボーンに BoundingVolume オブジェクトが付加されていないBVFigure
オブジェクトを生成します。
|
static BVFigure |
createBVFigure(Figure fig,
int shapeType,
float fit)
Figureオブジェクトから、すべてのボーンに BoundingVolume (OBV)
オブジェクトが付加されたBVFigure オブジェクトを生成します。 |
クラス Object から継承したメソッド |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
public static BVFigure createBVFigure(Figure fig)
Figureオブジェクトから、ボーンにBoundingVolume
オブジェクトが付加されていないBVFigure
オブジェクトを生成します。
生成されたBVFigure
オブジェクトには、Figure全体のBoundingVolume
オブジェクトも付加
されていません。BVFigure
クラスのsetBVメソッドを使って、Figure全体のBoundingVolume
オブジェクト、ボーンのBoundingVolume
オブジェクトをセットして下さい。
fig
- Figureオブジェクトを指定します。
BVFigure
オブジェクトを返します。
NullPointerException
- 引数figがnullの場合に発生します。
UIException
- 引数figが既に dispose() されたオブジェクトの場合に発生します(ILLEGAL_STATE)。
IllegalStateException
- 引数figが、ActionTableを付加できないFigureの場合に発生します。
public static BVFigure createBVFigure(Figure fig, int shapeType, float fit)
Figureオブジェクトから、すべてのボーンにBoundingVolume
(OBV)
オブジェクトが付加されたBVFigure
オブジェクトを生成します。
すべてのボーンのBoundingVolume
オブジェクトを、パターン0について生成します。
ただし、ポリゴンが存在しないボーンについてはBoundingVolume
オブジェクトは生成されず、
nullが設定されます。
生成されたBVFigure
オブジェクトには、Figure全体のBoundingVolume
オブジェクトは付加
されていません。BVFigure
クラスのsetBV
メソッドを使って、Figure全体のBoundingVolume
オブジェクトをセットして下さい。
また、ボーンからBoundingVolume
オブジェクトを除去する場合は、BVFigure
クラスのsetBV
メソッド
でnullをセットしてください。
Capsule
、Cylinder
の場合、中心軸がBV座標系のY軸に平行になるように
BoundingVolume
オブジェクトが生成されますが、ボーン座標系(Shape座標系)ではZ軸がボーンとなるので、
BoundingVolume
にBoundingVolume.ROTATE_X
が設定された状態(X軸回りに90度回転させた状態)
で、
ボーン座標系のZ軸に平行になるようにBoundingVolume
オブジェクトを生成します。
ボーン座標系の他の軸に平行になるように生成したい場合は、createBoneBV
メソッドを使って
ボーンごとに生成してください。
Box
、Sphere
の場合は、回転させない状態(BoundingVolume.ROTATE_NONE
)でBoundingVolume
オブジェクト
を生成します。
いずれのBoundingVolume
の場合も、中心位置がBoundingVolume
にセットされます。
fig
- Figureオブジェクトを指定します。shapeType
- 生成するOBVタイプを指定します。Shape.TYPE_BOX
、Shape.TYPE_CAPSULE
、Shape.TYPE_CYLINDER
、
Shape.TYPE_SPHERE
のいずれかを指定します。fit
- 最小Fittingを基準にしたFittingの割合を指定します。BVFigure
オブジェクトを返します。
NullPointerException
- 引数figがnullの場合に発生します。
UIException
- 引数figが既に dispose() されたオブジェクトの場合に発生します(ILLEGAL_STATE)。
IllegalArgumentException
- 引数shapeTypeが、Shape.TYPE_BOX
、Shape.TYPE_CAPSULE
、Shape.TYPE_CYLINDER
、Shape.TYPE_SPHERE
以外の場合に発生します。
IllegalArgumentException
- 引数fitが、0.1未満または10を超える場合に発生します。
IllegalStateException
- 引数figが、ActionTableを付加できないFigureの場合に発生します。
public static BoundingVolume createBoneBV(Figure fig, int boneId, int pattern, int shapeType, float fit, int rotate)
Figureオブジェクトから、指定したボーンのBoundingVolume
(OBV)オブジェクトを生成します。
パターンを指定することができます。
指定したボーンにポリゴンが存在しない場合、BoundingVolume
オブジェクトは生成されず、
nullを返します。
Capsule
、Cylinder
の場合、中心軸がBV座標系のY軸に平行になるように
BoundingVolume
オブジェクトが生成されますが、ボーン座標系(Shape座標系)ではZ軸がボーンとなるので、
一般的にはX軸回りに90度回転させた状態でBoundingVolume
オブジェクト
を生成するように、引数rotateにBoundingVolume.ROTATE_X
を指定します。これにより、
ボーン座標系のZ軸に平行になるようにBoundingVolume
オブジェクトが生成されます。
Capsule
、Cylinder
の場合は、この他に、引数rotateにBoundingVolume.ROTATE_NONE
(ボーン座標系のY軸に平行)、
BoundingVolume.ROTATE_Z
(ボーン座標系のX軸に平行)を指定することができます。
Box
、Sphere
の場合は、引数rotateにBoundingVolume.ROTATE_NONE
だけが指定可能です。
いずれのBoundingVolume
の場合も、中心位置がBoundingVolume
にセットされます。
生成されたOBVオブジェクトは、BVFigure
クラスのsetBV
メソッドを使って、BVFigure
オブジェクトに
セットする必要があります。
fig
- Figureオブジェクトを指定します。boneId
- 生成する対象のボーンIDを指定します。pattern
- 生成する対象のパターンを指定します。FigureクラスのsetPatternメソッドの説明
を参照してください。shapeType
- 生成するOBVタイプを指定します。Shape.TYPE_BOX
、Shape.TYPE_CAPSULE
、Shape.TYPE_CYLINDER
、
Shape.TYPE_SPHERE
のいずれかを指定します。fit
- 最小Fittingを基準にしたFittingの割合を指定します。rotate
- ボーン座標系(Shape座標系)における、BV座標系の回転変換を指定します。
shapeTypeが