@@ -1085,28 +1085,28 @@ namespace GeomUtils
1085
1085
return false ;
1086
1086
}
1087
1087
1088
- inline bool isMatrixIdentity ( const carve::math::Matrix& mat )
1088
+ inline bool isMatrixIdentity ( const carve::math::Matrix& mat, double eps = 0.00001 )
1089
1089
{
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 ;
1094
1094
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 ;
1098
1098
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 ;
1102
1102
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 ;
1106
1106
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 ;
1110
1110
return true ;
1111
1111
}
1112
1112
inline bool isMatrixEqual (const carve::math::Matrix& mat1, const carve::math::Matrix& mat2, double maxDelta = 0.00001 )
0 commit comments