@@ -1085,28 +1085,28 @@ namespace GeomUtils
10851085 return false ;
10861086 }
10871087
1088- inline bool isMatrixIdentity ( const carve::math::Matrix& mat )
1088+ inline bool isMatrixIdentity ( const carve::math::Matrix& mat, double eps = 0.00001 )
10891089 {
1090- if ( std::abs ( mat._11 - 1.0 ) > 0.00001 ) return false ;
1091- if ( std::abs ( mat._22 - 1.0 ) > 0.00001 ) return false ;
1092- if ( std::abs ( mat._33 - 1.0 ) > 0.00001 ) return false ;
1093- if ( std::abs ( mat._44 - 1.0 ) > 0.00001 ) return false ;
1090+ if ( std::abs ( mat._11 - 1.0 ) > eps ) return false ;
1091+ if ( std::abs ( mat._22 - 1.0 ) > eps ) return false ;
1092+ if ( std::abs ( mat._33 - 1.0 ) > eps ) return false ;
1093+ if ( std::abs ( mat._44 - 1.0 ) > eps ) return false ;
10941094
1095- if ( std::abs ( mat._12 ) > 0.00001 ) return false ;
1096- if ( std::abs ( mat._13 ) > 0.00001 ) return false ;
1097- if ( std::abs ( mat._14 ) > 0.00001 ) return false ;
1095+ if ( std::abs ( mat._12 ) > eps ) return false ;
1096+ if ( std::abs ( mat._13 ) > eps ) return false ;
1097+ if ( std::abs ( mat._14 ) > eps ) return false ;
10981098
1099- if ( std::abs ( mat._21 ) > 0.00001 ) return false ;
1100- if ( std::abs ( mat._23 ) > 0.00001 ) return false ;
1101- if ( std::abs ( mat._24 ) > 0.00001 ) return false ;
1099+ if ( std::abs ( mat._21 ) > eps ) return false ;
1100+ if ( std::abs ( mat._23 ) > eps ) return false ;
1101+ if ( std::abs ( mat._24 ) > eps ) return false ;
11021102
1103- if ( std::abs ( mat._31 ) > 0.00001 ) return false ;
1104- if ( std::abs ( mat._32 ) > 0.00001 ) return false ;
1105- if ( std::abs ( mat._34 ) > 0.00001 ) return false ;
1103+ if ( std::abs ( mat._31 ) > eps ) return false ;
1104+ if ( std::abs ( mat._32 ) > eps ) return false ;
1105+ if ( std::abs ( mat._34 ) > eps ) return false ;
11061106
1107- if ( std::abs ( mat._41 ) > 0.00001 ) return false ;
1108- if ( std::abs ( mat._42 ) > 0.00001 ) return false ;
1109- if ( std::abs ( mat._43 ) > 0.00001 ) return false ;
1107+ if ( std::abs ( mat._41 ) > eps ) return false ;
1108+ if ( std::abs ( mat._42 ) > eps ) return false ;
1109+ if ( std::abs ( mat._43 ) > eps ) return false ;
11101110 return true ;
11111111 }
11121112 inline bool isMatrixEqual (const carve::math::Matrix& mat1, const carve::math::Matrix& mat2, double maxDelta = 0.00001 )
0 commit comments