Box2 クラスは、整数の座標を用いて 2 次元の矩形の領域を表します。Box2 クラスは、ボックスの各座標を返す、座標をスケールあるいは移動する、中心を取得する、サイズを変更する、点がボックス内にあるかどうかを判断するなどのメソッドを提供します。Box2 値は、「ビューポート描画メソッド」で説明されているビューポート グラフィックのメソッドで主に使用されます。
コンストラクタ
Box2 <x_integer> <y_integer> <w_integer> <h_integer>
左上隅が \[x,y\]
、幅が w
、高さが h
の Box2 を作図します。
Box2 <upperleft_point2> <lowerRight_point2>
指定されたコーナーから Box2 オブジェクトを作図します。
例
upperLeft = [0, 0]
width = 60
height = 30
mybox1 = Box2 upperLeft.x upperLeft.y width height
upperLeft = [0, 0]
lowerRight = [59, 29]
mybox2 = Box2 upperLeft lowerRight
これにより、次のようなボックスになります。
プロパティ
<Box2>.x: Integer
<Box2>.y: Integer
<Box2>.w: Integer
<Box2>.h: Integer
<Box2>.left: Integer, alias of x property
<Box2>.right: Integer
<Box2>.top: Integer, alias of y property
<Box2>.bottom: Integer
<Box2>.center: Point2, read-only
right
プロパティは right = x + w - 1
として計算されます。bottom
プロパティは bottom = y + h - 1
として計算されます。通常、right
または bottom
プロパティを設定すると、w
および h
プロパティがそれぞれ変更されます。ただし、right
の値が left
の値より小さい場合は、right
と left
の値が入れ替わり、left
の値は新しい値となります。同様に、bottom
の値が top
の値より小さい場合は、bottom
と top
の値が入れ替わり、top
の値は新しい値となります。
演算子
<Box2> == <Box2>
<Box2> != <Box2>
標準の比較演算子です。2 つの Box2 値のコンポーネント値がすべて同じ場合、それらの値は等しいとみなされます。
<Box2> + (<Box2> | <point2> | <point2 array>)
3ds Max 2022 の新機能: 引数の値を含むように Box2 値が拡張されました。
メソッド
scale <Box2> <float>
ボックスの中心のまわりでボックスの座標のスケールを行います。
translate <Box2> <point2>
ボックスの座標を指定された距離だけ移動します。
contains <Box2> <point2>
Point2 値が Box2 内に含まれているかどうかを確認します。その Point が Box2 の内側、もしくは Box2 エッジにある場合は true
を返します。それ以外の場合は、false
を返します。
rectify <Box2>
Box の座標を top
< bottom
かつ left
< right
となるように調整します。
empty <Box2>
Box2 に特別な「空」値を設定します。
isEmpty <Box2>
Box2 が特別な「空」値を含む場合は true
を返します。それ以外の場合は、false
を返します。
enlargeBy <Box2> <integer>
3ds Max 2022 の新機能: Box2 を指定した値だけそれぞれの方向に拡大します。
<box2> expandToInclude <box2> (<box2> | <point2> | <point2 array>)
3ds Max 2022 の新機能: 指定した値を含むように Box2 を拡張します。
<bool> intersects <Box2> <Box2>
2 つのボックスが交差する場合は、true を返します。
<Box2> copy <Box2>
Box2 値のコピーを返します。