![]() |
BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Rotation matrix in three dimensions. Represents group SO(3). Internal parameterization based on quaternions.
Public Member Functions | |
| RotMatrix () | |
| Constructs unit transformation. More... | |
| ~RotMatrix ()=default | |
| Destructor. More... | |
| std::optional< double > | angleAroundCoordAxis (int iAxis) const |
| template<class T > | |
| T | counterTransformed (const T &v) const |
| Return transformed vector v. More... | |
| RotMatrix | Inverse () const |
| Returns the inverse transformation. More... | |
| bool | isIdentity () const |
| Determine if the transformation is trivial (identity) More... | |
| bool | isXRotation () const |
| bool | isYRotation () const |
| bool | isZRotation () const |
| RotMatrix | operator* (const RotMatrix &) const |
| Composes two transformations. More... | |
| bool | operator== (const RotMatrix &) const |
| Provides equality operator. More... | |
| template<class T > | |
| T | transformed (const T &v) const |
| Return transformed vector v. More... | |
| std::array< double, 3 > | zxzEulerAngles () const |
| Calculates the Euler angles corresponding to the rotation. More... | |
Static Public Member Functions | |
| static RotMatrix | AroundX (double phi) |
| Creates rotation around x-axis. More... | |
| static RotMatrix | AroundY (double phi) |
| Creates rotation around y-axis. More... | |
| static RotMatrix | AroundZ (double phi) |
| Creates rotation around z-axis. More... | |
| static RotMatrix | EulerZXZ (double alpha, double beta, double gamma) |
| Creates rotation defined by Euler angles. More... | |
| RotMatrix::RotMatrix | ( | ) |
Constructs unit transformation.
|
default |
Destructor.
| std::optional<double> RotMatrix::angleAroundCoordAxis | ( | int | iAxis | ) | const |
|
static |
Creates rotation around x-axis.
|
static |
Creates rotation around y-axis.
|
static |
Creates rotation around z-axis.
| T RotMatrix::counterTransformed | ( | const T & | v | ) | const |
Return transformed vector v.
|
static |
Creates rotation defined by Euler angles.
| RotMatrix RotMatrix::Inverse | ( | ) | const |
Returns the inverse transformation.
| bool RotMatrix::isIdentity | ( | ) | const |
Determine if the transformation is trivial (identity)
| bool RotMatrix::isXRotation | ( | ) | const |
| bool RotMatrix::isYRotation | ( | ) | const |
| bool RotMatrix::isZRotation | ( | ) | const |
| bool RotMatrix::operator== | ( | const RotMatrix & | ) | const |
Provides equality operator.
| T RotMatrix::transformed | ( | const T & | v | ) | const |
Return transformed vector v.
| std::array<double, 3> RotMatrix::zxzEulerAngles | ( | ) | const |
Calculates the Euler angles corresponding to the rotation.