Example #1
0
Vector3f Vector3f::OrthoNormal(const Vector3f& v1, const Vector3f& v2)
{
	Vector3f cross = Vector3f::CrossProduct(v1, v2);
	if (cross.NormalizeTry())
		return cross;

	if (!v1.IsLengthZero())
		return Vector3f::OrthoNormal(v1);
	else
		return Vector3f::OrthoNormal(v2);
}