diff --git a/src/moab/Matrix3.hpp b/src/moab/Matrix3.hpp index 558b559d91e9e65a3935270a0fe145b8903d7f0b..37f172fb9d9318eb82431fcb9535e4d1fd7a81b0 100644 --- a/src/moab/Matrix3.hpp +++ b/src/moab/Matrix3.hpp @@ -345,12 +345,35 @@ public: row0[2], row1[2], row2[2]; } } - +#ifndef DEPRECATED + #ifdef __GNUC__ + #define DEPRECATED __attribute__((deprecated)) + #else + #pragma message("WARNING: You need to implement DEPRECATED for this compiler") + #define DEPRECATED + #endif +#endif + /* + * \deprecated { Use instead the constructor with explicit fourth argument, bool isRow, above } + * + */ + template< typename Vector> + inline DEPRECATED Matrix3( const Vector & row0, + const Vector & row1, + const Vector & row2) + { + _mat << row0[0], row0[1], row0[2], + row1[0], row1[1], row1[2], + row2[0], row2[1], row2[2]; + } + + inline Matrix3( const double v[9] ){ _mat << v[0], v[1], v[2], v[3], v[4], v[5], v[6], v[7], v[8]; } + inline Matrix3& operator=( const Matrix3& m ){ _mat = m._mat; diff --git a/test/test_Matrix3.cpp b/test/test_Matrix3.cpp index d9049a3a80ada107fdb947004a89d847b2e0bedb..7b490995f4605a40ff21e25a7ad9a9175384b037 100644 --- a/test/test_Matrix3.cpp +++ b/test/test_Matrix3.cpp @@ -97,6 +97,11 @@ void test_EigenDecomp() //now verfy that the returns Eigenvalues and Eigenvectors are correct (within some tolerance) double tol = 1e-04; + + // use a deprecated constructor + Matrix3 mat3( CartVect(2, -1, 0), CartVect(-1, 2, -1), CartVect(0, -1, 2)); + CHECK_REAL_EQUAL( mat(1), mat3(1), tol); + vec0_check.normalize(); vec1_check.normalize(); vec2_check.normalize();