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. |