| 286 | |
| 287 | |
| 288 | double |
| 289 | T2Vector::angleBetweenT2Vector(const T2Vector & a) const |
| 290 | { |
| 291 | if (t2VectorLength() <= LOW_LIMIT || a.t2VectorLength() <= LOW_LIMIT) { |
| 292 | opserr << "FATAL:T2Vector::angleBetweenT2Vector(T2Vector &): vector length <=" << LOW_LIMIT << endln; |
| 293 | exit(-1); |
| 294 | } |
| 295 | |
| 296 | double angle = (theT2Vector && a.theT2Vector) / (t2VectorLength() * a.t2VectorLength()); |
| 297 | if(angle > 1.) angle = 1.; |
| 298 | if(angle < -1.) angle = -1.; |
| 299 | |
| 300 | return acos(angle); |
| 301 | } |
| 302 | |
| 303 | |
| 304 | double |
nothing calls this directly
no test coverage detected