generate quats with look_at also

This commit is contained in:
David Rose 2002-06-21 21:59:59 +00:00
parent efd134a00e
commit c5f477c043
2 changed files with 46 additions and 0 deletions

View File

@ -56,3 +56,31 @@ look_at(FLOATNAME(LMatrix4) &mat, const FLOATNAME(LVector3) &fwd,
look_at(mat, fwd, FLOATNAME(LVector3)::up(cs), cs);
}
INLINE_MATHUTIL void
heads_up(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
const FLOATNAME(LVector3) &up, CoordinateSystem cs) {
FLOATNAME(LMatrix3) mat3;
heads_up(mat3, fwd, up, cs);
quat.set_from_matrix(mat3);
}
INLINE_MATHUTIL void
look_at(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
const FLOATNAME(LVector3) &up, CoordinateSystem cs) {
FLOATNAME(LMatrix3) mat3;
look_at(mat3, fwd, up, cs);
quat.set_from_matrix(mat3);
}
INLINE_MATHUTIL void
heads_up(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
CoordinateSystem cs) {
heads_up(quat, fwd, FLOATNAME(LVector3)::up(cs), cs);
}
INLINE_MATHUTIL void
look_at(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
CoordinateSystem cs) {
look_at(quat, fwd, FLOATNAME(LVector3)::up(cs), cs);
}

View File

@ -64,6 +64,24 @@ INLINE_MATHUTIL void
look_at(FLOATNAME(LMatrix4) &mat, const FLOATNAME(LVector3) &fwd,
CoordinateSystem cs);
INLINE_MATHUTIL void
heads_up(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
const FLOATNAME(LVector3) &up = FLOATNAME(LVector3)::up(),
CoordinateSystem cs = CS_default);
INLINE_MATHUTIL void
look_at(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
const FLOATNAME(LVector3) &up = FLOATNAME(LVector3)::up(),
CoordinateSystem cs = CS_default);
INLINE_MATHUTIL void
heads_up(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
CoordinateSystem cs);
INLINE_MATHUTIL void
look_at(FLOATNAME(LQuaternion) &quat, const FLOATNAME(LVector3) &fwd,
CoordinateSystem cs);
END_PUBLISH
#include "look_at_src.I"