#include "vec3.h"Include dependency graph for quaternion.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.
Namespaces | |
| namespace | EMAN |
Classes | |
| class | EMAN::Quaternion |
| Quaternion is used in Rotation and Transformation to replace Euler angles. More... | |
Defines | |
| #define | eman__quaternion_h__ 1 |
| |
Functions | |
| Quaternion | operator+ (const Quaternion &q1, const Quaternion &q2) |
| Quaternion | operator- (const Quaternion &q1, const Quaternion &q2) |
| Quaternion | operator * (const Quaternion &q1, const Quaternion &q2) |
| Quaternion | operator * (const Quaternion &q, float s) |
| Quaternion | operator * (float s, const Quaternion &q) |
| Quaternion | operator/ (const Quaternion &q1, const Quaternion &q2) |
| bool | operator== (const Quaternion &q1, const Quaternion &q2) |
| bool | operator!= (const Quaternion &q1, const Quaternion &q2) |
|
|
Definition at line 37 of file quaternion.h. |
|
||||||||||||
|
Definition at line 337 of file quaternion.cpp. 00338 {
00339 Quaternion q1 = q;
00340 q1 *= s;
00341 return q1;
00342 }
|
|
||||||||||||
|
Definition at line 330 of file quaternion.cpp. 00331 {
00332 Quaternion q1 = q;
00333 q1 *= s;
00334 return q1;
00335 }
|
|
||||||||||||
|
Definition at line 323 of file quaternion.cpp. References q. 00324 {
00325 Quaternion q = q1;
00326 q *= q2;
00327 return q;
00328 }
|
|
||||||||||||
|
Definition at line 370 of file quaternion.cpp. 00371 {
00372 return (!(q1 == q2));
00373 }
|
|
||||||||||||
|
Definition at line 308 of file quaternion.cpp. References q. 00309 {
00310 Quaternion q = q1;
00311 q += q2;
00312 return q;
00313 }
|
|
||||||||||||
|
Definition at line 315 of file quaternion.cpp. References q. 00316 {
00317 Quaternion q = q1;
00318 q -= q2;
00319 return q;
00320 }
|
|
||||||||||||
|
Definition at line 344 of file quaternion.cpp. References q. 00345 {
00346 Quaternion q = q1;
00347 q /= q2;
00348 return q;
00349 }
|
|
||||||||||||
|
Definition at line 352 of file quaternion.cpp. References EMAN::Quaternion::as_list(). 00353 {
00354 bool result = true;
00355 const float err_limit = 0.00001f;
00356
00357 vector < float >v1 = q1.as_list();
00358 vector < float >v2 = q2.as_list();
00359
00360 for (size_t i = 0; i < v1.size(); i++) {
00361 if (fabs(v1[i] - v2[i]) > err_limit) {
00362 result = false;
00363 break;
00364 }
00365 }
00366
00367 return result;
00368 }
|
1.3.9.1