From 248376950040b42de585554971ec5a8b161a9b77 Mon Sep 17 00:00:00 2001 From: David Rose Date: Mon, 17 Jan 2005 05:55:43 +0000 Subject: [PATCH] add missing basic operators to quaternion --- panda/src/linmath/lquaternion_src.I | 40 +++++++++++++++++++++++++++++ panda/src/linmath/lquaternion_src.h | 8 ++++++ 2 files changed, 48 insertions(+) diff --git a/panda/src/linmath/lquaternion_src.I b/panda/src/linmath/lquaternion_src.I index 891bf52743..cd6ea4a21e 100644 --- a/panda/src/linmath/lquaternion_src.I +++ b/panda/src/linmath/lquaternion_src.I @@ -86,6 +86,46 @@ operator - () const { return FLOATNAME(LVecBase4)::operator - (); } +//////////////////////////////////////////////////////////////////// +// Function: LQuaternion::quaternion + quaternion +// Access: Public +// Description: +//////////////////////////////////////////////////////////////////// +INLINE_LINMATH FLOATNAME(LQuaternion) FLOATNAME(LQuaternion):: +operator + (const FLOATNAME(LQuaternion) &other) const { + return FLOATNAME(LVecBase4)::operator + (other); +} + +//////////////////////////////////////////////////////////////////// +// Function: LQuaternion::quaternion - quaternion +// Access: Public +// Description: +//////////////////////////////////////////////////////////////////// +INLINE_LINMATH FLOATNAME(LQuaternion) FLOATNAME(LQuaternion):: +operator - (const FLOATNAME(LQuaternion) &other) const { + return FLOATNAME(LVecBase4)::operator - (other); +} + +//////////////////////////////////////////////////////////////////// +// Function: LQuaternion::quaternion * scalar +// Access: Public +// Description: +//////////////////////////////////////////////////////////////////// +INLINE_LINMATH FLOATNAME(LQuaternion) FLOATNAME(LQuaternion):: +operator * (FLOATTYPE scalar) const { + return FLOATNAME(LVecBase4)::operator * (scalar); +} + +//////////////////////////////////////////////////////////////////// +// Function: LQuaternion::quaternion / scalar +// Access: Public +// Description: +//////////////////////////////////////////////////////////////////// +INLINE_LINMATH FLOATNAME(LQuaternion) FLOATNAME(LQuaternion):: +operator / (FLOATTYPE scalar) const { + return FLOATNAME(LVecBase4)::operator / (scalar); +} + //////////////////////////////////////////////////////////////////// // Function: LQuaternion::Multiply Operator // Access: public diff --git a/panda/src/linmath/lquaternion_src.h b/panda/src/linmath/lquaternion_src.h index b7388513e7..34e678bf33 100644 --- a/panda/src/linmath/lquaternion_src.h +++ b/panda/src/linmath/lquaternion_src.h @@ -36,6 +36,14 @@ PUBLISHED: INLINE_LINMATH FLOATNAME(LQuaternion) operator - () const; + INLINE_LINMATH FLOATNAME(LQuaternion) + operator + (const FLOATNAME(LQuaternion) &other) const; + INLINE_LINMATH FLOATNAME(LQuaternion) + operator - (const FLOATNAME(LQuaternion) &other) const; + + INLINE_LINMATH FLOATNAME(LQuaternion) operator * (FLOATTYPE scalar) const; + INLINE_LINMATH FLOATNAME(LQuaternion) operator / (FLOATTYPE scalar) const; + INLINE_LINMATH FLOATNAME(LQuaternion) operator *(const FLOATNAME(LQuaternion) &) const; INLINE_LINMATH FLOATNAME(LQuaternion)& operator *=(const FLOATNAME(LQuaternion) &);