-
Notifications
You must be signed in to change notification settings - Fork 4
class BndBox
Daisuke YAMAGUCHI edited this page Oct 26, 2015
·
20 revisions
BndBox クラスは、 X, Y, Z 軸それぞれの方向に大きさを持つ直方体の入れ物のようなものです。形状が存在している空間を概略的に表すために用います。
複雑な幾何形状同士の正確な交線計算を大量に行うと大きな処理コストがかかります。X, Y, Z 軸方向それぞれに「幾何形状が存在する範囲」を表すバウンディングボックスを交差判定などに用いると、コストを書けずに交差しない物体を処理から弾くことができます。また、トポロジー情報に含まれるトランスレーション(ローカル座標系)を意識せずに、ワールド座標系における幾何形状の存在しているおおよその位置と大きさを取得することが可能です。
-
min -> XYZ- バウンディングボックスが示す最小位置を返します。
-
max -> XYZ- バウンディングボックスが示す最大位置を返します。
-
void? -> bool- 空かどうかを返します。
-
void! -> nil- 空に設定します。破壊的メソッドです。
-
whole? -> bool- X, Y, Z 軸方向の大きさそれぞれが無限大であれば真を返します。
-
whole! -> nil- X, Y, Z 軸方向の大きさそれぞれを無限大に設定します。破壊的メソッドです。
-
gap -> float -
gap = float- ギャップを取得・設定します。
-
openxmin? -> bool -
openymin? -> bool -
openzmin? -> bool -
openxmax? -> bool -
openymax? -> bool -
openzmax? -> bool- X, Y, Z 軸方向の範囲の最小値・最大値のそれぞれについて、無限大であれば真を返します。
-
openxmin! -> nil -
openymin! -> nil -
openzmin! -> nil -
openxmax! -> nil -
openymax! -> nil -
openzmax! -> nil- X, Y, Z 軸方向の範囲の最小値・最大値のそれぞれについて、無限大に設定します。破壊的メソッドです。
-
xthin?(tol) -> bool -
ythin?(tol) -> bool -
zthin?(tol) -> bool- X, Y, Z 軸方向のそれぞれの範囲の大きさが、
tolで指定したトレランス以下の場合、真を返します。
- X, Y, Z 軸方向のそれぞれの範囲の大きさが、
