// Filename: lmat_ops.h // Created by: drose (08Mar00) // //////////////////////////////////////////////////////////////////// #ifndef LMAT_OPS_H #define LMAT_OPS_H #include "lvecBase3.h" #include "lpoint3.h" #include "lvector3.h" #include "lvecBase4.h" #include "lpoint4.h" #include "lvector4.h" #include "lmatrix3.h" #include "lmatrix4.h" // vector times matrix3 template INLINE LVecBase3 operator * (const LVecBase3 &v, const LMatrix3 &m); template INLINE LVector2 operator * (const LVector2 &v, const LMatrix3 &m); template INLINE LPoint2 operator * (const LPoint2 &v, const LMatrix3 &m); // vector times matrix4 template INLINE LVecBase4 operator * (const LVecBase4 &v, const LMatrix4 &m); template INLINE LVector3 operator * (const LVector3 &v, const LMatrix4 &m); template INLINE LPoint3 operator * (const LPoint3 &v, const LMatrix4 &m); #ifdef CPPPARSER // Strictly for the benefit of interrogate, we'll define explicit // 'instantiations' of the above template functions on types float and // double. BEGIN_PUBLISH INLINE LVecBase3 operator * (const LVecBase3 &v, const LMatrix3 &m); INLINE LVector2 operator * (const LVector2 &v, const LMatrix3 &m); INLINE LPoint2 operator * (const LPoint2 &v, const LMatrix3 &m); INLINE LVecBase4 operator * (const LVecBase4 &v, const LMatrix4 &m); INLINE LVector3 operator * (const LVector3 &v, const LMatrix4 &m); INLINE LPoint3 operator * (const LPoint3 &v, const LMatrix4 &m); INLINE LVecBase3 operator * (const LVecBase3 &v, const LMatrix3 &m); INLINE LVector2 operator * (const LVector2 &v, const LMatrix3 &m); INLINE LPoint2 operator * (const LPoint2 &v, const LMatrix3 &m); INLINE LVecBase4 operator * (const LVecBase4 &v, const LMatrix4 &m); INLINE LVector3 operator * (const LVector3 &v, const LMatrix4 &m); INLINE LPoint3 operator * (const LPoint3 &v, const LMatrix4 &m); END_PUBLISH #endif // CPPPARSER #include "lmat_ops.I" #endif