bool SBoxedEntity::Prepare()
{
	XFBox = BoxMatrix(BoxMin, BoxMax);
	IXFBox = MatrixInverse(XFBox);
	Radius = Magnitude(TransformVector(OneVector, XFBox));
	return true;
}

void SBoxedEntity::UpdateBox(const D3DXVECTOR3& p)
{
	BoxMin = Minimize(BoxMin, p);
	BoxMax = Maximize(BoxMax, p);
}

void SBoxedEntity::UpdateBox(const D3DXMATRIX& XFLB)
{
	UpdateBox(TransformVector(D3DXVECTOR3(-1.0f, -1.0f, -1.0f), XFLB));
	UpdateBox(TransformVector(D3DXVECTOR3( 1.0f, -1.0f, -1.0f), XFLB));
	UpdateBox(TransformVector(D3DXVECTOR3(-1.0f,  1.0f, -1.0f), XFLB));
	UpdateBox(TransformVector(D3DXVECTOR3( 1.0f,  1.0f, -1.0f), XFLB));
	UpdateBox(TransformVector(D3DXVECTOR3(-1.0f, -1.0f,  1.0f), XFLB));
	UpdateBox(TransformVector(D3DXVECTOR3( 1.0f, -1.0f,  1.0f), XFLB));
	UpdateBox(TransformVector(D3DXVECTOR3(-1.0f,  1.0f,  1.0f), XFLB));
	UpdateBox(TransformVector(D3DXVECTOR3( 1.0f,  1.0f,  1.0f), XFLB));
}
