diff options
author | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-01-05 14:26:34 +0000 |
---|---|---|
committer | Benoit Jacob <jacob.benoit.1@gmail.com> | 2009-01-05 14:26:34 +0000 |
commit | 986f301233469e7dcf6015c27e383b2777d70819 (patch) | |
tree | fc72059ec14be0a0d0859cc932a210d75e1881ef /test | |
parent | d316d4f3933d39cbca67c61c462d45212aa86e13 (diff) |
*add PartialRedux::cross() with unit test
*add transform-from-matrices test
*undo an unwanted change in Matrix
Diffstat (limited to 'test')
-rw-r--r-- | test/geometry.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/geometry.cpp b/test/geometry.cpp index 8c0d3b688..7f978f766 100644 --- a/test/geometry.cpp +++ b/test/geometry.cpp @@ -181,6 +181,13 @@ template<typename Scalar> void geometry(void) // More transform constructors, operator=, operator*= + Matrix3 mat3 = Matrix3::Random(); + Matrix4 mat4; + mat4 << mat3 , Vector3::Zero() , Vector4::Zero().transpose(); + Transform3 tmat3(mat3), tmat4(mat4); + tmat4.matrix()(3,3) = Scalar(1); + VERIFY_IS_APPROX(tmat3.matrix(), tmat4.matrix()); + Scalar a3 = ei_random<Scalar>(-M_PI, M_PI); Vector3 v3 = Vector3::Random().normalized(); AngleAxisx aa3(a3, v3); @@ -388,6 +395,18 @@ template<typename Scalar> void geometry(void) VERIFY_EULER(2,0,2, Z,X,Z); VERIFY_EULER(2,1,0, Z,Y,X); VERIFY_EULER(2,1,2, Z,Y,Z); + + // colwise/rowwise cross product + mat3.setRandom(); + Vector3 vec3 = Vector3::Random(); + Matrix3 mcross; + int i = ei_random<int>(0,2); + mcross = mat3.colwise().cross(vec3); + VERIFY_IS_APPROX(mcross.col(i), mat3.col(i).cross(vec3)); + mcross = mat3.rowwise().cross(vec3); + VERIFY_IS_APPROX(mcross.row(i), mat3.row(i).cross(vec3)); + + } void test_geometry() |