"L. Spiro Engine"
|
00001 00016 #ifndef __LSM_MATRIX3X3_H__ 00017 #define __LSM_MATRIX3X3_H__ 00018 00019 #include "../LSMMathLib.h" 00020 #include "../Vector/LSMVector3.h" 00021 #include "LSMMatrix3x3Base.h" 00022 00023 namespace lsm { 00024 00031 class CMatrix3x3 : public CMatrix3x3Base<LSREAL, CVector3> { 00032 // All is public. This class has no secrets. 00033 public : 00034 // == Various constructors. 00035 LSE_INLINE LSE_CALLCTOR CMatrix3x3(); 00036 LSE_INLINE LSE_CALLCTOR CMatrix3x3( const CMatrix3x3 &_m33bOther ); 00037 LSE_INLINE LSE_CALLCTOR CMatrix3x3( const CMatrix3x3Base<LSREAL, CVector3> &_m33bOther ); 00038 LSE_INLINE LSE_CALLCTOR CMatrix3x3( const CMatrix3x3 &_m33bOther, LSBOOL _bTranspose ); 00039 LSE_INLINE LSE_CALLCTOR CMatrix3x3( const LSREAL * _ptArray ); 00040 00041 00042 // == Functions. 00049 LSVOID LSE_FCALL Covariance( const CVector3 * _pvPoints, LSUINT32 _ui32Total ); 00050 00051 private : 00052 typedef CMatrix3x3Base<LSREAL, CVector3> Parent; 00053 }; 00054 00055 00056 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00057 // DEFINITIONS 00058 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00059 // == Various constructors. 00060 LSE_INLINE LSE_CALLCTOR CMatrix3x3::CMatrix3x3() { 00061 } 00062 LSE_INLINE LSE_CALLCTOR CMatrix3x3::CMatrix3x3( const CMatrix3x3 &_m33bOther ) : 00063 Parent( _m33bOther ) { 00064 } 00065 LSE_INLINE LSE_CALLCTOR CMatrix3x3::CMatrix3x3( const CMatrix3x3Base<LSREAL, CVector3> &_m33bOther ) : 00066 Parent( _m33bOther ) { 00067 } 00068 LSE_INLINE LSE_CALLCTOR CMatrix3x3::CMatrix3x3( const CMatrix3x3 &_m33bOther, LSBOOL _bTranspose ) : 00069 Parent( _m33bOther, _bTranspose ) { 00070 00071 } 00072 LSE_INLINE LSE_CALLCTOR CMatrix3x3::CMatrix3x3( const LSREAL * _ptArray ) : 00073 Parent( _ptArray ) { 00074 } 00075 00076 } // namespace lsm 00077 00078 #endif // __LSM_MATRIX3X3_H__ 00079