CrossFramework Library
|
#include <XBase/AABBox2.hpp>
浮動小数型2次元AABB(Axis Aligned Bounding Box)。
四則演算のadd( AABB ),mul( scale )は2つのAABBの補間を実現するために実装しています。
コンストラクタ | |
AABBox2 () | |
AABBox2( Vector2::Zero() ) で作成。 | |
AABBox2 (const Vector2POD &aPos) | |
1点を含むAABBを作成。 | |
AABBox2 (const Vector2POD &aPos1, const Vector2POD &aPos2) | |
2点を含むAABBを作成。 | |
点の取得 | |
const Vector2POD | min () const |
AABBの小さい方の点を取得。 | |
const Vector2POD | max () const |
AABBの大きい方の点を取得。 | |
const Vector2POD | center () const |
AABBの中心点を取得。 | |
const Vector2POD | posLB () const |
Vector2( left() , bottom() )を取得。 | |
const Vector2POD | posRB () const |
Vector2( right() , bottom() )を取得。 | |
const Vector2POD | posLT () const |
Vector2( left() , top() )を取得。 | |
const Vector2POD | posRT () const |
Vector2( right() , top() )を取得。 | |
float | left () const |
min().xを取得。 | |
float | right () const |
max().xを取得。 | |
float | bottom () const |
min().yを取得。 | |
float | top () const |
max().yを取得。 | |
大きさの取得 | |
float | width () const |
xの幅を取得。 | |
float | height () const |
yの幅を取得。 | |
const Vector2POD | size () const |
Vector2( width() , height() ) を取得。 | |
const Vector2POD | halfSize () const |
size() * 0.5f を取得。 | |
結合。 | |
const AABBox2 | merge (const Vector2POD &aPos) const |
自分自身と指定の点を含むAABBを取得。 | |
const AABBox2 | merge (const AABBox2 &aAABB) const |
自分自身と指定のAABBを含むAABBを取得。 | |
void | mergeAssign (const Vector2POD &aPos) |
自分自身と指定の点を含むAABBに設定する。 | |
void | mergeAssign (const AABBox2 &aAABB) |
自分自身と指定のAABBを含むAABBに設定する。 | |
判定 | |
bool | isIntersects (const AABBox2 &aAABB) const |
指定のAABBが重なっているか。 | |
bool | isContains (const Vector2POD &aPos) const |
指定の点を含んでいるか。 | |
bool | isContains (const AABBox2 &aAABB) const |
指定のAABBを含んでいるか。 | |
四則演算 | |
const AABBox2 | add (const Vector2POD &aTrans) const |
min() max() に値を加算した結果を取得する。 | |
const AABBox2 | sub (const Vector2POD &aTrans) const |
min() max() から値を減算した結果を取得する。 | |
const AABBox2 | add (const AABBox2 &aAABB) const |
min() max() をそれぞれ加算した結果を取得する。 | |
const AABBox2 | sub (const AABBox2 &aAABB) const |
min() max() をそれぞれ減算した結果を取得する。 | |
const AABBox2 | mul (f32 aScale) const |
min() max() に値を乗算した結果を取得する。 | |
void | addAssign (const Vector2POD &aTrans) |
min() max() に値を加算する。 | |
void | subAssign (const Vector2POD &aTrans) |
min() max() から値を減算する。 | |
void | addAssign (const AABBox2 &aAABB) |
min() max() をそれぞれ加算する。 | |
void | subAssign (const AABBox2 &aAABB) |
min() max() をそれぞれ減算する。 | |
void | mulAssign (f32 aScale) |
min() max() に値を乗算する。 | |
演算子オーバーロード | |
const AABBox2 | operator+ (const Vector2POD &) const |
add() 。 | |
const AABBox2 | operator- (const Vector2POD &) const |
sub() 。 | |
const AABBox2 | operator+ (const AABBox2 &) const |
add() 。 | |
const AABBox2 | operator- (const AABBox2 &) const |
sub() 。 | |
const AABBox2 | operator* (f32) const |
mul() 。 | |
AABBox2 & | operator+= (const Vector2POD &) |
addAssign() 。 | |
AABBox2 & | operator-= (const Vector2POD &) |
subAssign() 。 | |
AABBox2 & | operator+= (const AABBox2 &) |
addAssign() 。 | |
AABBox2 & | operator-= (const AABBox2 &) |
subAssign() 。 | |
AABBox2 & | operator*= (f32) |
mulAssign() 。 | |
変換 | |
const AABBox2i | toAABB2i () const |
切り捨てたmin()、切り上げたmax()の値を使って整数版AABBに変換。 |