#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 }
|