| 179 |
|
Real ad1, ad2, ad3; |
| 180 |
|
t = this->data_[0][0] + this->data_[1][1] + this->data_[2][2] + 1.0; |
| 181 |
|
|
| 182 |
< |
if( t > 0.0 ){ |
| 182 |
> |
if( t > NumericConstant::epsilon ){ |
| 183 |
|
|
| 184 |
|
s = 0.5 / sqrt( t ); |
| 185 |
|
q[0] = 0.25 / s; |
| 316 |
|
|
| 317 |
|
m /= det; |
| 318 |
|
return m; |
| 319 |
+ |
} |
| 320 |
+ |
|
| 321 |
+ |
SquareMatrix3<Real> transpose() const{ |
| 322 |
+ |
SquareMatrix3<Real> result; |
| 323 |
+ |
|
| 324 |
+ |
for (unsigned int i = 0; i < 3; i++) |
| 325 |
+ |
for (unsigned int j = 0; j < 3; j++) |
| 326 |
+ |
result(j, i) = this->data_[i][j]; |
| 327 |
+ |
|
| 328 |
+ |
return result; |
| 329 |
|
} |
| 330 |
|
/** |
| 331 |
|
* Extract the eigenvalues and eigenvectors from a 3x3 matrix. |