瀏覽代碼

add missing basic operators to quaternion

David Rose 21 年之前
父節點
當前提交
2483769500
共有 2 個文件被更改,包括 48 次插入0 次删除
  1. 40 0
      panda/src/linmath/lquaternion_src.I
  2. 8 0
      panda/src/linmath/lquaternion_src.h

+ 40 - 0
panda/src/linmath/lquaternion_src.I

@@ -86,6 +86,46 @@ operator - () const {
   return FLOATNAME(LVecBase4)::operator - ();
   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
 //     Function: LQuaternion::Multiply Operator
 //       Access: public
 //       Access: public

+ 8 - 0
panda/src/linmath/lquaternion_src.h

@@ -36,6 +36,14 @@ PUBLISHED:
 
 
   INLINE_LINMATH FLOATNAME(LQuaternion) operator - () const;
   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) &) const;
   INLINE_LINMATH FLOATNAME(LQuaternion)& operator *=(const FLOATNAME(LQuaternion) &);
   INLINE_LINMATH FLOATNAME(LQuaternion)& operator *=(const FLOATNAME(LQuaternion) &);