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.