Rename someOrthogonal to unitOrthogonal. Fix a bug in it, with dyn-size vectors of size <=3.

Update doc and test to reflect that it always returns a unit vector.
This commit is contained in:
Benoit Jacob
2008-08-24 17:31:03 +00:00
parent aeca7a63f4
commit 251ecc0ab9
3 changed files with 21 additions and 14 deletions

View File

@@ -58,9 +58,12 @@ template<typename Scalar> void geometry(void)
(v0.cross(v1).cross(v0)).normalized();
VERIFY(m.isUnitary());
// someOrthogonal
VERIFY_IS_MUCH_SMALLER_THAN(u0.someOrthogonal().dot(u0), Scalar(1));
VERIFY_IS_MUCH_SMALLER_THAN(v0.someOrthogonal().dot(v0), Scalar(1));
// unitOrthogonal
VERIFY_IS_MUCH_SMALLER_THAN(u0.unitOrthogonal().dot(u0), Scalar(1));
VERIFY_IS_MUCH_SMALLER_THAN(v0.unitOrthogonal().dot(v0), Scalar(1));
VERIFY_IS_APPROX(u0.unitOrthogonal().norm(), Scalar(1));
VERIFY_IS_APPROX(v0.unitOrthogonal().norm(), Scalar(1));
q1 = AngleAxis(ei_random<Scalar>(-M_PI, M_PI), v0.normalized());
q2 = AngleAxis(ei_random<Scalar>(-M_PI, M_PI), v1.normalized());