Xmipp
v3.23.11-Nereus
|
#include <euler.h>
Public Types | |
enum | eulerOrder { XYZ = 0x0101, XZY = 0x0001, YZX = 0x1101, YXZ = 0x1001, ZXY = 0x2101, ZYX = 0x2001, XZX = 0x0011, XYX = 0x0111, YXY = 0x1011, YZY = 0x1111, ZYZ = 0x2011, ZXZ = 0x2111, XYZr = 0x2000, XZYr = 0x2100, YZXr = 0x1000, YXZr = 0x1100, ZXYr = 0x0000, ZYXr = 0x0100, XZXr = 0x2110, XYXr = 0x2010, YXYr = 0x1110, YZYr = 0x1010, ZYZr = 0x0110, ZXZr = 0x0010, Legal, eulerDefault = ZYZ } |
enum | Axis { axisX = 0, axisY = 1, axisZ = 2 } |
enum | InputLayout { XYZLayout, IJKLayout } |
Public Member Functions | |
Euler () | |
void | init (void) |
Euler (const Euler &) | |
Euler (eulerOrder p) | |
Euler (const Matrix1D< double > &v, eulerOrder o=eulerDefault, InputLayout l=IJKLayout) | |
Euler (double i, double j, double k, eulerOrder o=eulerDefault, InputLayout l=IJKLayout) | |
Euler (const Euler &euler, eulerOrder newp) | |
Euler (const Matrix2D< double > &, eulerOrder o=eulerDefault) | |
const Euler & | operator= (const Euler &) |
const Euler & | operator= (const Matrix1D< double > &) |
void | setXYZVector (const Matrix1D< double > &) |
eulerOrder | order () const |
void | setOrder (eulerOrder) |
void | set (Axis initial, bool relative, bool parityEven, bool firstRepeats) |
void | extract (const Matrix2D< double > &) |
void | toMatrix (Matrix2D< double > &M) const |
void | toXYZVector (Matrix1D< double > &v) const |
void | angleOrder (int &i, int &j, int &k) const |
void | angleMapping (int &i, int &j, int &k) const |
void | makeNear (const Euler &target) |
bool | frameStatic () const |
bool | initialRepeated () const |
bool | parityEven () const |
Axis | initialAxis () const |
void | eulerRotate (Matrix2D< double > &M, const Matrix1D< double > &r) |
Static Public Member Functions | |
static bool | legal (eulerOrder) |
static double | angleMod (double angle) |
static void | simpleXYZRotation (Matrix1D< double > &xyzRot, const Matrix1D< double > &targetXyzRot) |
static void | nearestRotation (Matrix1D< double > &xyzRot, const Matrix1D< double > &targetXyzRot, eulerOrder order=XYZ) |
Public Attributes | |
Matrix1D< double > | vec3 |
double | x |
double | y |
double | z |
Protected Attributes | |
bool | _frameStatic: 1 |
bool | _initialRepeated: 1 |
bool | _parityEven: 1 |
Axis | _initialAxis: 2 |
Routines for computing Euler angles following different approaches
enum Euler::Axis |
Enumerator | |
---|---|
axisX | |
axisY | |
axisZ |
enum Euler::eulerOrder |
Enumerator | |
---|---|
XYZ | |
XZY | |
YZX | |
YXZ | |
ZXY | |
ZYX | |
XZX | |
XYX | |
YXY | |
YZY | |
ZYZ | |
ZXZ | |
XYZr | |
XZYr | |
YZXr | |
YXZr | |
ZXYr | |
ZYXr | |
XZXr | |
XYXr | |
YXYr | |
YZYr | |
ZYZr | |
ZXZr | |
Legal | |
eulerDefault |
Definition at line 43 of file euler.h.
enum Euler::InputLayout |
Enumerator | |
---|---|
XYZLayout | |
IJKLayout |
Definition at line 97 of file euler.h.
Euler::Euler | ( | ) |
Definition at line 80 of file euler.cpp.
Euler::Euler | ( | Euler::eulerOrder | p | ) |
Definition at line 89 of file euler.cpp.
Euler::Euler | ( | const Matrix1D< double > & | v, |
Euler::eulerOrder | p = eulerDefault , |
||
Euler::InputLayout | l = IJKLayout |
||
) |
Definition at line 99 of file euler.cpp.
Euler::Euler | ( | double | i, |
double | j, | ||
double | k, | ||
Euler::eulerOrder | p = eulerDefault , |
||
Euler::InputLayout | l = IJKLayout |
||
) |
Definition at line 132 of file euler.cpp.
Euler::Euler | ( | const Euler & | euler, |
eulerOrder | newp | ||
) |
Euler::Euler | ( | const Matrix2D< double > & | M, |
Euler::eulerOrder | p = eulerDefault |
||
) |
void Euler::angleMapping | ( | int & | i, |
int & | j, | ||
int & | k | ||
) | const |
|
static |
void Euler::angleOrder | ( | int & | i, |
int & | j, | ||
int & | k | ||
) | const |
void Euler::extract | ( | const Matrix2D< double > & | M | ) |
Definition at line 156 of file euler.cpp.
|
inline |
|
inline |
|
static |
Definition at line 315 of file euler.cpp.
void Euler::makeNear | ( | const Euler & | target | ) |
Definition at line 450 of file euler.cpp.
|
static |
Definition at line 419 of file euler.cpp.
Euler::eulerOrder Euler::order | ( | ) | const |
Definition at line 320 of file euler.cpp.
|
inline |
void Euler::set | ( | Euler::Axis | axis, |
bool | relative, | ||
bool | parityEven, | ||
bool | firstRepeats | ||
) |
void Euler::setOrder | ( | Euler::eulerOrder | p | ) |
void Euler::setXYZVector | ( | const Matrix1D< double > & | v | ) |
|
static |
void Euler::toMatrix | ( | Matrix2D< double > & | M | ) | const |
void Euler::toXYZVector | ( | Matrix1D< double > & | v | ) | const |