| 177 |  | #undef y | 
| 178 |  | #undef z | 
| 179 |  |  | 
| 180 | < | void matrix3x3::SetColumn(int col, const vector3 &v) throw(OBError) | 
| 180 | > | void matrix3x3::SetColumn(int col, const vector3 &v) | 
| 181 |  | { | 
| 182 |  | if (col > 2) | 
| 183 |  | { | 
| 184 | < | OBError er("matrix3x3::SetColumn(int col, const vector3 &v)", | 
| 185 | < | "The method was called with col > 2.", | 
| 186 | < | "This is a programming error in your application."); | 
| 187 | < | throw er; | 
| 184 | > | obErrorLog.ThrowError(__FUNCTION__, | 
| 185 | > | "The method was called with col > 2.", obError); | 
| 186 |  | } | 
| 187 |  |  | 
| 188 |  | ele[0][col] = v.x(); | 
| 190 |  | ele[2][col] = v.z(); | 
| 191 |  | } | 
| 192 |  |  | 
| 193 | < | void matrix3x3::SetRow(int row, const vector3 &v) throw(OBError) | 
| 193 | > | void matrix3x3::SetRow(int row, const vector3 &v) | 
| 194 |  | { | 
| 195 |  | if (row > 2) | 
| 196 |  | { | 
| 197 | < | OBError er("matrix3x3::SetRow(int row, const vector3 &v)", | 
| 198 | < | "The method was called with row > 2.", | 
| 201 | < | "This is a programming error in your application."); | 
| 202 | < | throw er; | 
| 197 | > | obErrorLog.ThrowError(__FUNCTION__, | 
| 198 | > | "The method was called with row > 2.", obError); | 
| 199 |  | } | 
| 200 |  |  | 
| 201 |  | ele[row][0] = v.x(); | 
| 203 |  | ele[row][2] = v.z(); | 
| 204 |  | } | 
| 205 |  |  | 
| 206 | < | vector3 matrix3x3::GetColumn(unsigned int col) const throw(OBError) | 
| 206 | > | vector3 matrix3x3::GetColumn(unsigned int col) | 
| 207 |  | { | 
| 208 |  | if (col > 2) | 
| 209 |  | { | 
| 210 | < | OBError er("matrix3x3::GetColumn(unsigned int col) const", | 
| 211 | < | "The method was called with col > 2.", | 
| 216 | < | "This is a programming error in your application."); | 
| 217 | < | throw er; | 
| 210 | > | obErrorLog.ThrowError(__FUNCTION__, | 
| 211 | > | "The method was called with col > 2.", obError); | 
| 212 |  | } | 
| 213 |  |  | 
| 214 |  | return vector3(ele[0][col], ele[1][col], ele[2][col]); | 
| 215 |  | } | 
| 216 |  |  | 
| 217 | < | vector3 matrix3x3::GetRow(unsigned int row) const throw(OBError) | 
| 217 | > | vector3 matrix3x3::GetRow(unsigned int row) | 
| 218 |  | { | 
| 219 |  | if (row > 2) | 
| 220 |  | { | 
| 221 | < | OBError er("matrix3x3::GetRow(unsigned int row) const", | 
| 222 | < | "The method was called with row > 2.", | 
| 229 | < | "This is a programming error in your application."); | 
| 230 | < | throw er; | 
| 221 | > | obErrorLog.ThrowError(__FUNCTION__, | 
| 222 | > | "The method was called with row > 2.", obError); | 
| 223 |  | } | 
| 224 |  |  | 
| 225 |  | return vector3(ele[row][0], ele[row][1], ele[row][2]); | 
| 286 |  | discouraged, unless you are certain that the determinant is in a | 
| 287 |  | reasonable range, away from 0.0 (Stefan Kebekus) | 
| 288 |  | */ | 
| 289 | < | matrix3x3 matrix3x3::inverse(void) const throw(OBError) | 
| 289 | > | matrix3x3 matrix3x3::inverse(void) | 
| 290 |  | { | 
| 291 |  | double det = determinant(); | 
| 292 |  | if (fabs(det) <= 1e-6) | 
| 293 |  | { | 
| 294 | < | OBError er("matrix3x3::invert(void)", | 
| 295 | < | "The method was called on a matrix with |determinant| <= 1e-6.", | 
| 304 | < | "This is a runtime or a programming error in your application."); | 
| 305 | < | throw er; | 
| 294 | > | obErrorLog.ThrowError(__FUNCTION__, | 
| 295 | > | "The method was called on a matrix with |determinant| <= 1e-6.", obError); | 
| 296 |  | } | 
| 297 |  |  | 
| 298 |  | matrix3x3 inverse; | 
| 425 |  | \endcode | 
| 426 |  |  | 
| 427 |  | */ | 
| 428 | < | matrix3x3 matrix3x3::findEigenvectorsIfSymmetric(vector3 &eigenvals) const throw(OBError) | 
| 428 | > | matrix3x3 matrix3x3::findEigenvectorsIfSymmetric(vector3 &eigenvals) | 
| 429 |  | { | 
| 430 |  | matrix3x3 result; | 
| 431 |  |  | 
| 432 |  | if (!isSymmetric()) | 
| 433 |  | { | 
| 434 | < | OBError er("matrix3x3::findEigenvectorsIfSymmetric(vector3 &eigenvals) const throw(OBError)", | 
| 435 | < | "The method was called on a matrix that was not symmetric, i.e. where isSymetric() == false.", | 
| 446 | < | "This is a runtime or a programming error in your application."); | 
| 447 | < | throw er; | 
| 434 | > | obErrorLog.ThrowError(__FUNCTION__, | 
| 435 | > | "The method was called on a matrix that was not symmetric, i.e. where isSymetric() == false.", obError); | 
| 436 |  | } | 
| 437 |  |  | 
| 438 |  | double d[3]; |